summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-07-11 12:24:18 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-07-12 10:23:56 +0200
commit592eb9217a52632e4271db3628c5aafb0cefbee8 (patch)
tree687f4343cb778f71601143bed120049d9eb5da6a /sc/source
parent0f587b82ea8da631bb4a5a394d0145d91aef486f (diff)
loplugin:useuniqueptr in XclExpChTrTabId
and write the buffer in one go in SaveCont Change-Id: Id41bb132ff3b4176b1fcb1798d10191c3d45fffc Reviewed-on: https://gerrit.libreoffice.org/57298 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sc/source')
-rw-r--r--sc/source/filter/inc/XclExpChangeTrack.hxx4
-rw-r--r--sc/source/filter/xcl97/XclExpChangeTrack.cxx11
2 files changed, 7 insertions, 8 deletions
diff --git a/sc/source/filter/inc/XclExpChangeTrack.hxx b/sc/source/filter/inc/XclExpChangeTrack.hxx
index 2f5eed82b3da..b20c1e167b21 100644
--- a/sc/source/filter/inc/XclExpChangeTrack.hxx
+++ b/sc/source/filter/inc/XclExpChangeTrack.hxx
@@ -319,10 +319,10 @@ public:
class XclExpChTrTabId : public ExcRecord
{
private:
- sal_uInt16* pBuffer;
+ std::unique_ptr<sal_uInt16> pBuffer;
sal_uInt16 nTabCount;
- void Clear() { delete[] pBuffer; pBuffer = nullptr; }
+ void Clear() { pBuffer.reset(); }
virtual void SaveCont( XclExpStream& rStrm ) override;
diff --git a/sc/source/filter/xcl97/XclExpChangeTrack.cxx b/sc/source/filter/xcl97/XclExpChangeTrack.cxx
index cde364769a7e..3035a774ac36 100644
--- a/sc/source/filter/xcl97/XclExpChangeTrack.cxx
+++ b/sc/source/filter/xcl97/XclExpChangeTrack.cxx
@@ -609,8 +609,8 @@ void XclExpChTrTabIdBuffer::Remove()
XclExpChTrTabId::XclExpChTrTabId( const XclExpChTrTabIdBuffer& rBuffer )
: nTabCount( rBuffer.GetBufferCount() )
{
- pBuffer = new sal_uInt16[ nTabCount ];
- rBuffer.GetBufferCopy( pBuffer );
+ pBuffer.reset( new sal_uInt16[ nTabCount ] );
+ rBuffer.GetBufferCopy( pBuffer.get() );
}
XclExpChTrTabId::~XclExpChTrTabId()
@@ -622,16 +622,15 @@ void XclExpChTrTabId::Copy( const XclExpChTrTabIdBuffer& rBuffer )
{
Clear();
nTabCount = rBuffer.GetBufferCount();
- pBuffer = new sal_uInt16[ nTabCount ];
- rBuffer.GetBufferCopy( pBuffer );
+ pBuffer.reset( new sal_uInt16[ nTabCount ] );
+ rBuffer.GetBufferCopy( pBuffer.get() );
}
void XclExpChTrTabId::SaveCont( XclExpStream& rStrm )
{
rStrm.EnableEncryption();
if( pBuffer )
- for( sal_uInt16* pElem = pBuffer; pElem < (pBuffer + nTabCount); pElem++ )
- rStrm << *pElem;
+ rStrm.Write(pBuffer.get(), nTabCount);
else
for( sal_uInt16 nIndex = 1; nIndex <= nTabCount; nIndex++ )
rStrm << nIndex;