new loplugin: useuniqueptr: helpcompiler..io

Change-Id: I6b394163c144e6b5540cb160abb613d56fe327de
Reviewed-on: https://gerrit.libreoffice.org/33165
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
This commit is contained in:
Noel Grandin 2017-01-16 14:15:13 +02:00
parent a9367c1b39
commit 7a60e90ef0
19 changed files with 58 additions and 78 deletions

View File

@ -61,7 +61,6 @@ public:
{} {}
~HelpLinker() ~HelpLinker()
{ {
delete m_pIndexerPreProcessor;
} }
private: private:
@ -82,7 +81,7 @@ private:
std::string extensionDestination; std::string extensionDestination;
bool bExtensionMode; bool bExtensionMode;
fs::path indexDirParentName; fs::path indexDirParentName;
IndexerPreProcessor* m_pIndexerPreProcessor; std::unique_ptr<IndexerPreProcessor> m_pIndexerPreProcessor;
bool m_bUseLangRoot; bool m_bUseLangRoot;
bool m_bCreateIndex; bool m_bCreateIndex;
void initIndexerPreProcessor(); void initIndexerPreProcessor();

View File

@ -266,9 +266,8 @@ void HelpLinker::addBookmark( FILE* pFile_DBHelp, std::string thishid,
void HelpLinker::initIndexerPreProcessor() void HelpLinker::initIndexerPreProcessor()
{ {
delete m_pIndexerPreProcessor; m_pIndexerPreProcessor.reset( new IndexerPreProcessor( indexDirParentName,
m_pIndexerPreProcessor = new IndexerPreProcessor( indexDirParentName, idxCaptionStylesheet, idxContentStylesheet ) );
idxCaptionStylesheet, idxContentStylesheet );
} }
/** /**

View File

@ -85,7 +85,6 @@ SkipData::SkipData(hchar hch)
SkipData::~SkipData() SkipData::~SkipData()
{ {
delete[]data_block;
} }

View File

@ -23,6 +23,7 @@
#include <sal/config.h> #include <sal/config.h>
#include <list> #include <list>
#include <memory>
#include <sal/types.h> #include <sal/types.h>
@ -73,7 +74,7 @@ struct SkipData: public HBox
{ {
uint data_block_len; uint data_block_len;
hchar dummy; hchar dummy;
char *data_block; std::unique_ptr<char[]> data_block;
explicit SkipData(hchar); explicit SkipData(hchar);
virtual ~SkipData() override; virtual ~SkipData() override;
@ -385,27 +386,26 @@ struct TxtBox: public FBox
struct Columns struct Columns
{ {
int *data; std::unique_ptr<int[]> data;
size_t nCount; size_t nCount;
size_t nTotal; size_t nTotal;
Columns(){ Columns(){
nCount = 0; nCount = 0;
nTotal = INIT_SIZE; nTotal = INIT_SIZE;
data = new int[nTotal]; data.reset(new int[nTotal]);
} }
~Columns(){ delete[] data; } ~Columns() {}
void AddColumnsSize(){ void AddColumnsSize(){
int *tmp = data;
if (nTotal + ADD_AMOUNT < nTotal) // overflow if (nTotal + ADD_AMOUNT < nTotal) // overflow
{ {
throw ::std::bad_alloc(); throw ::std::bad_alloc();
} }
data = new int[nTotal + ADD_AMOUNT]; int* tmp = new int[nTotal + ADD_AMOUNT];
for (size_t i = 0 ; i < nTotal ; i++) for (size_t i = 0 ; i < nTotal ; i++)
data[i] = tmp[i]; tmp[i] = data[i];
nTotal += ADD_AMOUNT; nTotal += ADD_AMOUNT;
delete[] tmp; data.reset(tmp);
} }
void insert(int pos){ void insert(int pos){
@ -446,27 +446,26 @@ struct Columns
struct Rows struct Rows
{ {
int *data; std::unique_ptr<int[]> data;
size_t nCount; size_t nCount;
size_t nTotal; size_t nTotal;
Rows(){ Rows(){
nCount = 0; nCount = 0;
nTotal = INIT_SIZE; nTotal = INIT_SIZE;
data = new int[nTotal]; data.reset( new int[nTotal] );
} }
~Rows(){ delete[] data; } ~Rows() {}
void AddRowsSize(){ void AddRowsSize(){
int *tmp = data;
if (nTotal + ADD_AMOUNT < nTotal) // overflow if (nTotal + ADD_AMOUNT < nTotal) // overflow
{ {
throw ::std::bad_alloc(); throw ::std::bad_alloc();
} }
data = new int[nTotal + ADD_AMOUNT]; int* tmp = new int[nTotal + ADD_AMOUNT];
for (size_t i = 0 ; i < nTotal ; i++) for (size_t i = 0 ; i < nTotal ; i++)
data[i] = tmp[i]; tmp[i] = data[i];
nTotal += ADD_AMOUNT; nTotal += ADD_AMOUNT;
delete[] tmp; data.reset(tmp);
} }
void insert(int pos){ void insert(int pos){

View File

@ -52,9 +52,9 @@ bool SkipData::Read(HWPFile & hwpf)
return hwpf.SetState(HWP_InvalidFileFormat); return hwpf.SetState(HWP_InvalidFileFormat);
} }
data_block = new char[data_block_len]; data_block.reset(new char[data_block_len]);
return hwpf.Read1b(data_block, data_block_len); return hwpf.Read1b(data_block.get(), data_block_len);
} }

View File

@ -25,6 +25,8 @@
#include <unicode/calendar.h> #include <unicode/calendar.h>
#include <rtl/ref.hxx> #include <rtl/ref.hxx>
#include <memory>
// class Calendar_gregorian // class Calendar_gregorian
@ -97,7 +99,7 @@ public:
protected: protected:
const Era *eraArray; const Era *eraArray;
icu::Calendar *body; std::unique_ptr<icu::Calendar> body;
rtl::Reference<NativeNumberSupplierService> mxNatNum; rtl::Reference<NativeNumberSupplierService> mxNatNum;
const sal_Char* cCalendar; const sal_Char* cCalendar;
css::lang::Locale aLocale; css::lang::Locale aLocale;

View File

@ -29,6 +29,8 @@
#include <transliterationImpl.hxx> #include <transliterationImpl.hxx>
#include <memory>
namespace com { namespace sun { namespace star { namespace i18n { namespace com { namespace sun { namespace star { namespace i18n {
class DefaultNumberingProvider : public cppu::WeakImplHelper class DefaultNumberingProvider : public cppu::WeakImplHelper
@ -83,7 +85,7 @@ public:
private: private:
css::uno::Reference < css::uno::XComponentContext > m_xContext; css::uno::Reference < css::uno::XComponentContext > m_xContext;
css::uno::Reference < css::container::XHierarchicalNameAccess > xHierarchicalNameAccess; css::uno::Reference < css::container::XHierarchicalNameAccess > xHierarchicalNameAccess;
TransliterationImpl* translit; std::unique_ptr<TransliterationImpl> translit;
OUString SAL_CALL makeNumberingIdentifier( sal_Int16 index ) OUString SAL_CALL makeNumberingIdentifier( sal_Int16 index )
throw(css::uno::RuntimeException, std::exception); throw(css::uno::RuntimeException, std::exception);
bool SAL_CALL isScriptFlagEnabled(const OUString& aName ) bool SAL_CALL isScriptFlagEnabled(const OUString& aName )

View File

@ -25,6 +25,8 @@
#include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/lang/XServiceInfo.hpp>
#include <collatorImpl.hxx> #include <collatorImpl.hxx>
#include <memory>
namespace com { namespace sun { namespace star { namespace i18n { namespace com { namespace sun { namespace star { namespace i18n {
@ -90,7 +92,8 @@ public:
protected: protected:
const sal_Char * implementationName; const sal_Char * implementationName;
bool usePhonetic; bool usePhonetic;
CollatorImpl* collator; std::unique_ptr<CollatorImpl>
collator;
css::lang::Locale aLocale; css::lang::Locale aLocale;
OUString aAlgorithm; OUString aAlgorithm;

View File

@ -21,6 +21,8 @@
#include <indexentrysupplier_common.hxx> #include <indexentrysupplier_common.hxx>
#include <memory>
namespace com { namespace sun { namespace star { namespace i18n { namespace com { namespace sun { namespace star { namespace i18n {
class Index; class Index;
@ -53,7 +55,7 @@ public:
throw (css::uno::RuntimeException, std::exception) override; throw (css::uno::RuntimeException, std::exception) override;
private: private:
Index *index; std::unique_ptr<Index> index;
}; };
struct IndexKey { struct IndexKey {
@ -97,7 +99,7 @@ public:
sal_Int16 mkeys[MAX_KEYS]; sal_Int16 mkeys[MAX_KEYS];
sal_Int16 mkey_count; sal_Int16 mkey_count;
OUString skipping_chars; OUString skipping_chars;
CollatorImpl *collator; std::unique_ptr<CollatorImpl> collator;
sal_Int16 compare(sal_Unicode c1, sal_Unicode c2); sal_Int16 compare(sal_Unicode c1, sal_Unicode c2);
}; };

View File

@ -168,14 +168,13 @@ Calendar_gregorian::init(const Era *_eraArray)
icu::Locale aIcuLocale( "", nullptr, nullptr, "calendar=gregorian"); icu::Locale aIcuLocale( "", nullptr, nullptr, "calendar=gregorian");
UErrorCode status; UErrorCode status;
body = icu::Calendar::createInstance( aIcuLocale, status = U_ZERO_ERROR); body.reset( icu::Calendar::createInstance( aIcuLocale, status = U_ZERO_ERROR) );
if (!body || !U_SUCCESS(status)) throw ERROR; if (!body || !U_SUCCESS(status)) throw ERROR;
eraArray=_eraArray; eraArray=_eraArray;
} }
Calendar_gregorian::~Calendar_gregorian() Calendar_gregorian::~Calendar_gregorian()
{ {
delete body;
} }
Calendar_hanja::Calendar_hanja() Calendar_hanja::Calendar_hanja()

View File

@ -273,7 +273,6 @@ DefaultNumberingProvider::DefaultNumberingProvider( const Reference < XComponent
DefaultNumberingProvider::~DefaultNumberingProvider() DefaultNumberingProvider::~DefaultNumberingProvider()
{ {
delete translit;
} }
Sequence< Reference<container::XIndexAccess> > Sequence< Reference<container::XIndexAccess> >
@ -647,7 +646,7 @@ DefaultNumberingProvider::makeNumberingString( const Sequence<beans::PropertyVal
OUString transliteration; OUString transliteration;
getPropertyByName(aProperties, "Transliteration", true) >>= transliteration; getPropertyByName(aProperties, "Transliteration", true) >>= transliteration;
if ( !translit ) if ( !translit )
translit = new TransliterationImpl(m_xContext); translit.reset( new TransliterationImpl(m_xContext) );
translit->loadModuleByImplName(transliteration, aLocale); translit->loadModuleByImplName(transliteration, aLocale);
result += translit->transliterateString2String(tmp, 0, tmp.getLength()); result += translit->transliterateString2String(tmp, 0, tmp.getLength());
} catch (Exception& ) { } catch (Exception& ) {

View File

@ -30,13 +30,12 @@ namespace com { namespace sun { namespace star { namespace i18n {
IndexEntrySupplier_Common::IndexEntrySupplier_Common(const Reference < uno::XComponentContext >& rxContext) IndexEntrySupplier_Common::IndexEntrySupplier_Common(const Reference < uno::XComponentContext >& rxContext)
{ {
implementationName = "com.sun.star.i18n.IndexEntrySupplier_Common"; implementationName = "com.sun.star.i18n.IndexEntrySupplier_Common";
collator = new CollatorImpl(rxContext); collator.reset( new CollatorImpl(rxContext) );
usePhonetic = false; usePhonetic = false;
} }
IndexEntrySupplier_Common::~IndexEntrySupplier_Common() IndexEntrySupplier_Common::~IndexEntrySupplier_Common()
{ {
delete collator;
} }
Sequence < lang::Locale > SAL_CALL IndexEntrySupplier_Common::getLocaleList() throw (RuntimeException, std::exception) Sequence < lang::Locale > SAL_CALL IndexEntrySupplier_Common::getLocaleList() throw (RuntimeException, std::exception)

View File

@ -32,12 +32,11 @@ IndexEntrySupplier_Unicode::IndexEntrySupplier_Unicode(
IndexEntrySupplier_Common(rxContext) IndexEntrySupplier_Common(rxContext)
{ {
implementationName = "com.sun.star.i18n.IndexEntrySupplier_Unicode"; implementationName = "com.sun.star.i18n.IndexEntrySupplier_Unicode";
index = new Index(rxContext); index.reset( new Index(rxContext) );
} }
IndexEntrySupplier_Unicode::~IndexEntrySupplier_Unicode() IndexEntrySupplier_Unicode::~IndexEntrySupplier_Unicode()
{ {
delete index;
} }
sal_Bool SAL_CALL IndexEntrySupplier_Unicode::loadAlgorithm( const lang::Locale& rLocale, sal_Bool SAL_CALL IndexEntrySupplier_Unicode::loadAlgorithm( const lang::Locale& rLocale,
@ -111,13 +110,12 @@ Index::Index(const css::uno::Reference < css::uno::XComponentContext >& rxContex
: table_count(0) : table_count(0)
, key_count(0) , key_count(0)
, mkey_count(0) , mkey_count(0)
, collator( new CollatorImpl(rxContext) )
{ {
collator = new CollatorImpl(rxContext);
} }
Index::~Index() Index::~Index()
{ {
delete collator;
} }
sal_Int16 Index::compare(sal_Unicode c1, sal_Unicode c2) sal_Int16 Index::compare(sal_Unicode c1, sal_Unicode c2)

View File

@ -1323,11 +1323,10 @@ class OutlineNumbering : public cppu::WeakImplHelper < container::XIndexAccess >
{ {
// OutlineNumbering helper class // OutlineNumbering helper class
const OutlineNumberingLevel_Impl* m_pOutlineLevels; std::unique_ptr<const OutlineNumberingLevel_Impl[]> m_pOutlineLevels;
sal_Int16 m_nCount; sal_Int16 m_nCount;
public: public:
OutlineNumbering(const OutlineNumberingLevel_Impl* pOutlineLevels, int nLevels); OutlineNumbering(const OutlineNumberingLevel_Impl* pOutlineLevels, int nLevels);
virtual ~OutlineNumbering() override;
//XIndexAccess //XIndexAccess
virtual sal_Int32 SAL_CALL getCount( ) throw(RuntimeException, std::exception) override; virtual sal_Int32 SAL_CALL getCount( ) throw(RuntimeException, std::exception) override;
@ -1498,11 +1497,6 @@ OutlineNumbering::OutlineNumbering(const OutlineNumberingLevel_Impl* pOutlnLevel
{ {
} }
OutlineNumbering::~OutlineNumbering()
{
delete [] m_pOutlineLevels;
}
sal_Int32 OutlineNumbering::getCount( ) throw(RuntimeException, std::exception) sal_Int32 OutlineNumbering::getCount( ) throw(RuntimeException, std::exception)
{ {
return m_nCount; return m_nCount;
@ -1513,7 +1507,7 @@ Any OutlineNumbering::getByIndex( sal_Int32 nIndex )
{ {
if(nIndex < 0 || nIndex >= m_nCount) if(nIndex < 0 || nIndex >= m_nCount)
throw IndexOutOfBoundsException(); throw IndexOutOfBoundsException();
const OutlineNumberingLevel_Impl* pTemp = m_pOutlineLevels; const OutlineNumberingLevel_Impl* pTemp = m_pOutlineLevels.get();
pTemp += nIndex; pTemp += nIndex;
Any aRet; Any aRet;

View File

@ -21,6 +21,7 @@
#define INCLUDED_I18NPOOL_SOURCE_SEARCH_LEVDIS_HXX #define INCLUDED_I18NPOOL_SOURCE_SEARCH_LEVDIS_HXX
#include <rtl/ustring.hxx> #include <rtl/ustring.hxx>
#include <memory>
// Sensible default values for a user interface could be: // Sensible default values for a user interface could be:
// LEVDISDEFAULT_XOTHER 2 // LEVDISDEFAULT_XOTHER 2
@ -115,19 +116,18 @@ public:
class WLevDisDistanceMem class WLevDisDistanceMem
{ {
int* p; std::unique_ptr<int[]> p;
public: public:
explicit WLevDisDistanceMem( size_t s ) explicit WLevDisDistanceMem( size_t s )
: p(nullptr)
{ {
NewMem(s); NewMem(s);
} }
~WLevDisDistanceMem() { delete [] p; } ~WLevDisDistanceMem() {}
int* GetPtr() const { return p; } int* GetPtr() const { return p.get(); }
int* NewMem( size_t s ) int* NewMem( size_t s )
{ {
delete [] p; p.reset(new int[ s<3 ? 3 : s ]);
return (p = new int[ s<3 ? 3 : s ]); return p.get();
} }
}; };

View File

@ -106,8 +106,8 @@ class SvTokenStream
OString aStrFalse; OString aStrFalse;
sal_uLong nMaxPos; sal_uLong nMaxPos;
SvFileStream * pInStream; std::unique_ptr<SvFileStream> pInStream;
OUString aFileName; OUString aFileName;
std::vector<std::unique_ptr<SvToken> > aTokList; std::vector<std::unique_ptr<SvToken> > aTokList;
std::vector<std::unique_ptr<SvToken> >::iterator pCurToken; std::vector<std::unique_ptr<SvToken> >::iterator pCurToken;

View File

@ -91,7 +91,6 @@ SvTokenStream::SvTokenStream( const OUString & rFileName )
SvTokenStream::~SvTokenStream() SvTokenStream::~SvTokenStream()
{ {
delete pInStream;
} }
void SvTokenStream::FillTokenList() void SvTokenStream::FillTokenList()

View File

@ -19,6 +19,7 @@
#include <map> #include <map>
#include <memory>
#include <vector> #include <vector>
#include <com/sun/star/io/XMarkableStream.hpp> #include <com/sun/star/io/XMarkableStream.hpp>
@ -75,7 +76,6 @@ class OMarkableOutputStream :
{ {
public: public:
OMarkableOutputStream( ); OMarkableOutputStream( );
virtual ~OMarkableOutputStream() override;
public: // XOutputStream public: // XOutputStream
virtual void SAL_CALL writeBytes(const Sequence< sal_Int8 >& aData) virtual void SAL_CALL writeBytes(const Sequence< sal_Int8 >& aData)
@ -138,7 +138,7 @@ private:
Reference< XOutputStream > m_output; Reference< XOutputStream > m_output;
bool m_bValidStream; bool m_bValidStream;
MemRingBuffer *m_pBuffer; std::unique_ptr<MemRingBuffer> m_pBuffer;
map<sal_Int32,sal_Int32,less< sal_Int32 > > m_mapMarks; map<sal_Int32,sal_Int32,less< sal_Int32 > > m_mapMarks;
sal_Int32 m_nCurrentPos; sal_Int32 m_nCurrentPos;
sal_Int32 m_nCurrentMark; sal_Int32 m_nCurrentMark;
@ -148,18 +148,12 @@ private:
OMarkableOutputStream::OMarkableOutputStream( ) OMarkableOutputStream::OMarkableOutputStream( )
: m_bValidStream(false) : m_bValidStream(false)
, m_pBuffer( new MemRingBuffer )
, m_nCurrentPos(0) , m_nCurrentPos(0)
, m_nCurrentMark(0) , m_nCurrentMark(0)
{ {
m_pBuffer = new MemRingBuffer;
} }
OMarkableOutputStream::~OMarkableOutputStream()
{
delete m_pBuffer;
}
// XOutputStream // XOutputStream
void OMarkableOutputStream::writeBytes(const Sequence< sal_Int8 >& aData) void OMarkableOutputStream::writeBytes(const Sequence< sal_Int8 >& aData)
throw ( NotConnectedException, throw ( NotConnectedException,

View File

@ -34,6 +34,7 @@
#include <osl/mutex.hxx> #include <osl/mutex.hxx>
#include <limits> #include <limits>
#include <memory>
#include <string.h> #include <string.h>
using namespace ::osl; using namespace ::osl;
@ -55,7 +56,6 @@ class OPipeImpl :
{ {
public: public:
OPipeImpl( ); OPipeImpl( );
virtual ~OPipeImpl() override;
public: // XInputStream public: // XInputStream
virtual sal_Int32 SAL_CALL readBytes(Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead) virtual sal_Int32 SAL_CALL readBytes(Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead)
@ -118,24 +118,18 @@ private:
osl::Condition m_conditionBytesAvail; osl::Condition m_conditionBytesAvail;
Mutex m_mutexAccess; Mutex m_mutexAccess;
MemFIFO *m_pFIFO; std::unique_ptr<MemFIFO> m_pFIFO;
}; };
OPipeImpl::OPipeImpl() OPipeImpl::OPipeImpl()
: m_nBytesToSkip(0 )
, m_bOutputStreamClosed(false )
, m_bInputStreamClosed( false )
, m_pFIFO( new MemFIFO )
{ {
m_nBytesToSkip = 0;
m_bOutputStreamClosed = false;
m_bInputStreamClosed = false;
m_pFIFO = new MemFIFO;
} }
OPipeImpl::~OPipeImpl()
{
delete m_pFIFO;
}
sal_Int32 OPipeImpl::readBytes(Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead) sal_Int32 OPipeImpl::readBytes(Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead)
@ -261,8 +255,7 @@ void OPipeImpl::closeInput()
m_bInputStreamClosed = true; m_bInputStreamClosed = true;
delete m_pFIFO; m_pFIFO.reset();
m_pFIFO = nullptr;
// readBytes may throw an exception // readBytes may throw an exception
m_conditionBytesAvail.set(); m_conditionBytesAvail.set();