summaryrefslogtreecommitdiff
path: root/registry/source/reflwrit.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'registry/source/reflwrit.cxx')
-rw-r--r--registry/source/reflwrit.cxx30
1 files changed, 10 insertions, 20 deletions
diff --git a/registry/source/reflwrit.cxx b/registry/source/reflwrit.cxx
index 689bc2daa099..be4b15cd9aea 100644
--- a/registry/source/reflwrit.cxx
+++ b/registry/source/reflwrit.cxx
@@ -19,6 +19,7 @@
#include <new>
+#include <memory>
#include <sal/types.h>
#include <sal/macros.h>
#include <osl/endian.h>
@@ -514,9 +515,9 @@ public:
OString m_returnTypeName;
RTMethodMode m_mode;
sal_uInt16 m_paramCount;
- ParamEntry* m_params;
+ std::unique_ptr<ParamEntry[]> m_params;
sal_uInt16 m_excCount;
- OString* m_excNames;
+ std::unique_ptr<OString[]> m_excNames;
OString m_doku;
MethodEntry();
@@ -540,16 +541,12 @@ protected:
MethodEntry::MethodEntry()
: m_mode(RTMethodMode::INVALID)
, m_paramCount(0)
- , m_params(NULL)
, m_excCount(0)
- , m_excNames(NULL)
{
}
MethodEntry::~MethodEntry()
{
- delete[] m_params;
- delete[] m_excNames;
}
void MethodEntry::setData(const OString& name,
@@ -596,11 +593,11 @@ void MethodEntry::reallocParams(sal_uInt16 size)
newParams[i].setData(m_params[i].m_typeName, m_params[i].m_name, m_params[i].m_mode);
}
- delete[] m_params;
+ m_params.reset();
}
m_paramCount = size;
- m_params = newParams;
+ m_params.reset( newParams );
}
void MethodEntry::reallocExcs(sal_uInt16 size)
@@ -620,10 +617,8 @@ void MethodEntry::reallocExcs(sal_uInt16 size)
newExcNames[i] = m_excNames[i];
}
- delete[] m_excNames;
-
m_excCount = size;
- m_excNames = newExcNames;
+ m_excNames.reset( newExcNames );
}
@@ -654,7 +649,7 @@ public:
sal_uInt16 m_referenceCount;
ReferenceEntry* m_references;
- sal_uInt8* m_blop;
+ std::unique_ptr<sal_uInt8[]> m_blop;
sal_uInt32 m_blopSize;
TypeWriter(typereg_Version version,
@@ -701,7 +696,6 @@ TypeWriter::TypeWriter(typereg_Version version,
, m_methods(NULL)
, m_referenceCount(referenceCount)
, m_references(NULL)
- , m_blop(NULL)
, m_blopSize(0)
{
if (m_nSuperTypes > 0)
@@ -727,9 +721,6 @@ TypeWriter::~TypeWriter()
if (m_superTypeNames)
delete[] m_superTypeNames;
- if (m_blop)
- delete[] m_blop;
-
if (m_fieldCount)
delete[] m_fields;
@@ -1151,8 +1142,7 @@ void TypeWriter::createBlop()
delete[] pBlopMethods;
delete[] pBlopReferences;
- delete[] m_blop;
- m_blop = blop;
+ m_blop.reset( blop );
m_blopSize = blopSize;
}
@@ -1259,7 +1249,7 @@ void const * TYPEREG_CALLTYPE typereg_writer_getBlob(void * handle, sal_uInt32 *
SAL_THROW_EXTERN_C()
{
TypeWriter * writer = static_cast< TypeWriter * >(handle);
- if (writer->m_blop == 0) {
+ if (!writer->m_blop) {
try {
writer->createBlop();
} catch (std::bad_alloc &) {
@@ -1267,7 +1257,7 @@ void const * TYPEREG_CALLTYPE typereg_writer_getBlob(void * handle, sal_uInt32 *
}
}
*size = writer->m_blopSize;
- return writer->m_blop;
+ return writer->m_blop.get();
}
static const sal_uInt8* TYPEREG_CALLTYPE getBlop(TypeWriterImpl hEntry)