Kaydet (Commit) 3995bf74 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

loplugin:useuniqueptr (clang-cl)

Change-Id: I5ed7a980da0d8f6d320db306fcfca969ae700c4f
üst 36a9091e
...@@ -17,6 +17,9 @@ ...@@ -17,6 +17,9 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 . * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/ */
#include <sal/config.h>
#include <memory>
#include <stdexcept> #include <stdexcept>
#include <osl/diagnose.h> #include <osl/diagnose.h>
#include "FilterContainer.hxx" #include "FilterContainer.hxx"
...@@ -238,10 +241,10 @@ OUString SAL_CALL makeWinFilterBuffer( CFilterContainer& aFilterContainer ) ...@@ -238,10 +241,10 @@ OUString SAL_CALL makeWinFilterBuffer( CFilterContainer& aFilterContainer )
if ( !reqBuffSize ) if ( !reqBuffSize )
return OUString( ); return OUString( );
sal_Unicode* pBuff = new sal_Unicode[reqBuffSize]; auto pBuff = std::unique_ptr<sal_Unicode[]>(new sal_Unicode[reqBuffSize]);
// initialize the buffer with 0 // initialize the buffer with 0
ZeroMemory( pBuff, sizeof( sal_Unicode ) * reqBuffSize ); ZeroMemory( pBuff.get(), sizeof( sal_Unicode ) * reqBuffSize );
OUString winFilterBuff; OUString winFilterBuff;
CFilterContainer::FILTER_ENTRY_T nextFilter; CFilterContainer::FILTER_ENTRY_T nextFilter;
...@@ -252,24 +255,21 @@ OUString SAL_CALL makeWinFilterBuffer( CFilterContainer& aFilterContainer ) ...@@ -252,24 +255,21 @@ OUString SAL_CALL makeWinFilterBuffer( CFilterContainer& aFilterContainer )
while( aFilterContainer.getNextFilter( nextFilter ) ) while( aFilterContainer.getNextFilter( nextFilter ) )
{ {
wcsmemcpy( wcsmemcpy(
pBuff + memPos, pBuff.get() + memPos,
nextFilter.first.getStr( ), nextFilter.first.getStr( ),
nextFilter.first.getLength( ) ); nextFilter.first.getLength( ) );
memPos += nextFilter.first.getLength( ) + 1; memPos += nextFilter.first.getLength( ) + 1;
wcsmemcpy( wcsmemcpy(
pBuff + memPos, pBuff.get() + memPos,
nextFilter.second.getStr( ), nextFilter.second.getStr( ),
nextFilter.second.getLength( ) ); nextFilter.second.getLength( ) );
memPos += nextFilter.second.getLength( ) + 1 ; memPos += nextFilter.second.getLength( ) + 1 ;
} }
winFilterBuff = OUString( pBuff, reqBuffSize ); winFilterBuff = OUString( pBuff.get(), reqBuffSize );
// remove the allocated buffer
delete [] pBuff;
return winFilterBuff; return winFilterBuff;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment