From 3995bf74a6ad711d6f7b63cbe8eeca83d5b0355f Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Wed, 26 Apr 2017 17:32:57 +0200
Subject: loplugin:useuniqueptr (clang-cl)

Change-Id: I5ed7a980da0d8f6d320db306fcfca969ae700c4f
---
 fpicker/source/win32/filepicker/FilterContainer.cxx | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

(limited to 'fpicker')

diff --git a/fpicker/source/win32/filepicker/FilterContainer.cxx b/fpicker/source/win32/filepicker/FilterContainer.cxx
index f428e45e390b..0601affcf320 100644
--- a/fpicker/source/win32/filepicker/FilterContainer.cxx
+++ b/fpicker/source/win32/filepicker/FilterContainer.cxx
@@ -17,6 +17,9 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <sal/config.h>
+
+#include <memory>
 #include <stdexcept>
 #include <osl/diagnose.h>
 #include "FilterContainer.hxx"
@@ -238,10 +241,10 @@ OUString SAL_CALL makeWinFilterBuffer( CFilterContainer& aFilterContainer )
     if ( !reqBuffSize )
         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
-    ZeroMemory( pBuff, sizeof( sal_Unicode ) * reqBuffSize );
+    ZeroMemory( pBuff.get(), sizeof( sal_Unicode ) * reqBuffSize );
 
     OUString winFilterBuff;
     CFilterContainer::FILTER_ENTRY_T nextFilter;
@@ -252,24 +255,21 @@ OUString SAL_CALL makeWinFilterBuffer( CFilterContainer& aFilterContainer )
     while( aFilterContainer.getNextFilter( nextFilter ) )
     {
         wcsmemcpy(
-            pBuff + memPos,
+            pBuff.get() + memPos,
             nextFilter.first.getStr( ),
             nextFilter.first.getLength( ) );
 
         memPos += nextFilter.first.getLength( ) + 1;
 
         wcsmemcpy(
-            pBuff + memPos,
+            pBuff.get() + memPos,
             nextFilter.second.getStr( ),
             nextFilter.second.getLength( ) );
 
         memPos += nextFilter.second.getLength( ) + 1 ;
     }
 
-    winFilterBuff = OUString( pBuff, reqBuffSize );
-
-    // remove the allocated buffer
-    delete [] pBuff;
+    winFilterBuff = OUString( pBuff.get(), reqBuffSize );
 
     return winFilterBuff;
 }
-- 
cgit