diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2017-08-07 08:04:26 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2017-08-07 08:04:26 +0200 |
commit | 338a9abae6a2fcf6d9ca3f7b09535105d1c28259 (patch) | |
tree | a69aa12b97685dc4e566c1b5e1cb4cccb4924a01 /connectivity | |
parent | 52da4081bf6d7bf97e102dab3e0082f11488215b (diff) |
loplugin:useuniqueptr
Change-Id: Ie6c1cea3850ddf37aa8b9f4731547650a23f5d29
Diffstat (limited to 'connectivity')
-rw-r--r-- | connectivity/source/drivers/macab/MacabHeader.cxx | 10 | ||||
-rw-r--r-- | connectivity/source/drivers/macab/MacabRecord.cxx | 5 | ||||
-rw-r--r-- | connectivity/source/drivers/macab/MacabRecord.hxx | 6 |
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: |