From 66d532fca4cf9504a53bbe0c8a584d1144fc8e0f Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Thu, 15 Mar 2012 13:28:18 +0000 Subject: can't use auto_ptr with an array, wrong delete vs new[] --- dtrans/source/win32/misc/ImplHelper.cxx | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'dtrans/source/win32/misc/ImplHelper.cxx') diff --git a/dtrans/source/win32/misc/ImplHelper.cxx b/dtrans/source/win32/misc/ImplHelper.cxx index 5243aaccc51e..04c850e7d434 100644 --- a/dtrans/source/win32/misc/ImplHelper.cxx +++ b/dtrans/source/win32/misc/ImplHelper.cxx @@ -46,6 +46,8 @@ #include #endif +#include + //------------------------------------------------------------------------ // defines //------------------------------------------------------------------------ @@ -133,15 +135,12 @@ OUString SAL_CALL getWinCPFromLocaleId( LCID lcid, LCTYPE lctype ) OSL_ASSERT( len > 0 ); - std::auto_ptr< sal_Unicode > lpwchBuff( new sal_Unicode[len] ); + std::vector< sal_Unicode > lpwchBuff(len); - if ( NULL != lpwchBuff.get( ) ) - { - len = MultiByteToWideChar( - CP_ACP, 0, buff, -1, reinterpret_cast(lpwchBuff.get( )), len ); + len = MultiByteToWideChar( + CP_ACP, 0, buff, -1, reinterpret_cast(&lpwchBuff[0]), len ); - winCP = OUString( lpwchBuff.get( ), (len - 1) ); - } + winCP = OUString( &lpwchBuff[0], (len - 1) ); } return winCP; -- cgit v1.2.3