summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2017-08-07 08:04:26 +0200
committerStephan Bergmann <sbergman@redhat.com>2017-08-07 08:04:26 +0200
commit338a9abae6a2fcf6d9ca3f7b09535105d1c28259 (patch)
treea69aa12b97685dc4e566c1b5e1cb4cccb4924a01 /connectivity
parent52da4081bf6d7bf97e102dab3e0082f11488215b (diff)
loplugin:useuniqueptr
Change-Id: Ie6c1cea3850ddf37aa8b9f4731547650a23f5d29
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/drivers/macab/MacabHeader.cxx10
-rw-r--r--connectivity/source/drivers/macab/MacabRecord.cxx5
-rw-r--r--connectivity/source/drivers/macab/MacabRecord.hxx6
3 files changed, 12 insertions, 9 deletions
diff --git a/connectivity/source/drivers/macab/MacabHeader.cxx b/connectivity/source/drivers/macab/MacabHeader.cxx
index 62e2875ef77a..a674dad8f359 100644
--- a/connectivity/source/drivers/macab/MacabHeader.cxx
+++ b/connectivity/source/drivers/macab/MacabHeader.cxx
@@ -25,6 +25,7 @@
#include <math.h>
#include <com/sun/star/sdbc/DataType.hpp>
#include <connectivity/dbconversion.hxx>
+#include <o3tl/make_unique.hxx>
using namespace connectivity::macab;
using namespace com::sun::star::sdbc;
@@ -36,7 +37,7 @@ MacabHeader::MacabHeader(const sal_Int32 _size, macabfield **_fields)
{
sal_Int32 i;
size = _size;
- fields = new macabfield *[size];
+ fields = o3tl::make_unique<macabfield *[]>(size);
for(i = 0; i < size; i++)
{
if(_fields[i] == nullptr)
@@ -86,7 +87,7 @@ void MacabHeader::operator+= (const MacabHeader *r)
{
sal_Int32 i;
size = rSize;
- fields = new macabfield *[size];
+ fields = o3tl::make_unique<macabfield *[]>(size);
for(i = 0; i < size; i++)
{
fields[i] = r->copy(i);
@@ -132,9 +133,8 @@ void MacabHeader::operator+= (const MacabHeader *r)
}
releaseFields();
- delete [] fields;
size += numAdded;
- fields = newFields;
+ fields.reset(newFields);
}
}
}
@@ -230,7 +230,7 @@ macabfield **MacabHeader::sortRecord(const sal_Int32 _start, const sal_Int32 _le
}
if(_length == size)
{
- fields = sorted;
+ fields.reset(sorted);
}
delete firstHalf;
delete lastHalf;
diff --git a/connectivity/source/drivers/macab/MacabRecord.cxx b/connectivity/source/drivers/macab/MacabRecord.cxx
index d2195a823379..5cb71beff854 100644
--- a/connectivity/source/drivers/macab/MacabRecord.cxx
+++ b/connectivity/source/drivers/macab/MacabRecord.cxx
@@ -21,6 +21,7 @@
#include "MacabRecord.hxx"
#include "macabutilities.hxx"
#include <com/sun/star/util/DateTime.hpp>
+#include <o3tl/make_unique.hxx>
#include <premac.h>
#include <Carbon/Carbon.h>
@@ -43,7 +44,7 @@ MacabRecord::MacabRecord()
MacabRecord::MacabRecord(const sal_Int32 _size)
{
size = _size;
- fields = new macabfield *[size];
+ fields = o3tl::make_unique<macabfield *[]>(size);
sal_Int32 i;
for(i = 0; i < size; i++)
fields[i] = nullptr;
@@ -61,8 +62,6 @@ MacabRecord::~MacabRecord()
fields[i] = nullptr;
}
}
- delete [] fields;
- fields = nullptr;
}
diff --git a/connectivity/source/drivers/macab/MacabRecord.hxx b/connectivity/source/drivers/macab/MacabRecord.hxx
index 5d0cb1dfa5e7..e677611bdec8 100644
--- a/connectivity/source/drivers/macab/MacabRecord.hxx
+++ b/connectivity/source/drivers/macab/MacabRecord.hxx
@@ -20,6 +20,10 @@
#ifndef INCLUDED_CONNECTIVITY_SOURCE_DRIVERS_MACAB_MACABRECORD_HXX
#define INCLUDED_CONNECTIVITY_SOURCE_DRIVERS_MACAB_MACABRECORD_HXX
+#include <sal/config.h>
+
+#include <memory>
+
#include <sal/types.h>
#include <osl/diagnose.h>
#include <rtl/ustring.hxx>
@@ -46,7 +50,7 @@ namespace connectivity
class MacabRecord{
protected:
sal_Int32 size;
- macabfield **fields;
+ std::unique_ptr<macabfield *[]> fields;
protected:
void releaseFields();
public: