summaryrefslogtreecommitdiff
path: root/svl
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-06-12 21:53:44 +0200
committerMichael Stahl <mstahl@redhat.com>2012-06-12 23:25:16 +0200
commit6ec1108370d9e27f3e75c1a50f9525b06d5a3c82 (patch)
tree9d57947c91379c912ac7ce05509b47c28e5ada5b /svl
parent586df9f1ec5a733082ced2a51f416c8baa2cc914 (diff)
convert NfWSStringsDtor further to vector<OUString>
Change-Id: I4fac64952abf208864281fda722d8b7242689395
Diffstat (limited to 'svl')
-rw-r--r--svl/inc/svl/zforlist.hxx13
-rw-r--r--svl/source/numbers/zforlist.cxx89
2 files changed, 47 insertions, 55 deletions
diff --git a/svl/inc/svl/zforlist.hxx b/svl/inc/svl/zforlist.hxx
index 10bac7e98267..b1e016269dee 100644
--- a/svl/inc/svl/zforlist.hxx
+++ b/svl/inc/svl/zforlist.hxx
@@ -318,18 +318,7 @@ public:
typedef boost::ptr_vector<NfCurrencyEntry> NfCurrencyTable;
-typedef String* WSStringPtr;
-class SVL_DLLPUBLIC NfWSStringsDtor : public std::vector<WSStringPtr>
-{
-public:
- ~NfWSStringsDtor()
- {
- for( const_iterator it = begin(); it != end(); ++it )
- delete *it;
- }
-
-};
-
+typedef std::vector< ::rtl::OUString > NfWSStringsDtor;
class SvNumberFormatterRegistry_Impl;
diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx
index 0228ac7aaabb..e40a224ec4df 100644
--- a/svl/source/numbers/zforlist.cxx
+++ b/svl/source/numbers/zforlist.cxx
@@ -3189,7 +3189,7 @@ sal_uInt32 SvNumberFormatter::ImpGetDefaultSystemCurrencyFormat()
DBG_ASSERT( aCurrList.size(), "where is the NewCurrency System standard format?!?" );
// if already loaded or user defined nDefaultSystemCurrencyFormat
// will be set to the right value
- PutEntry( *aCurrList[ nDefault ], nCheck, nType,
+ PutEntry( aCurrList[ nDefault ], nCheck, nType,
nDefaultSystemCurrencyFormat, LANGUAGE_SYSTEM );
DBG_ASSERT( nCheck == 0, "NewCurrency CheckError" );
DBG_ASSERT( nDefaultSystemCurrencyFormat != NUMBERFORMAT_ENTRY_NOT_FOUND,
@@ -3234,7 +3234,7 @@ sal_uInt32 SvNumberFormatter::ImpGetDefaultCurrencyFormat()
// if already loaded or user defined nDefaultSystemCurrencyFormat
// will be set to the right value
short nType;
- PutEntry( *aCurrList[ nDefault ], nCheck, nType,
+ PutEntry( aCurrList[ nDefault ], nCheck, nType,
nDefaultCurrencyFormat, ActLnge );
DBG_ASSERT( nCheck == 0, "NewCurrency CheckError" );
DBG_ASSERT( nDefaultCurrencyFormat != NUMBERFORMAT_ENTRY_NOT_FOUND,
@@ -3671,21 +3671,23 @@ sal_uInt16 SvNumberFormatter::GetCurrencyFormatStrings( NfWSStringsDtor& rStrArr
rCurr.BuildPositiveFormatString( aPositiveBank, true, *xLocaleData, 1 );
rCurr.BuildNegativeFormatString( aNegativeBank, true, *xLocaleData, 1 );
- WSStringPtr pFormat1 = new String( aPositiveBank );
- *pFormat1 += ';';
- WSStringPtr pFormat2 = new String( *pFormat1 );
+ ::rtl::OUStringBuffer format1(aPositiveBank);
+ format1.append(';');
+ format1.append(aNegativeBank);
+ rStrArr.push_back(format1.makeStringAndClear());
+
+ ::rtl::OUStringBuffer format2(aPositiveBank);
+ format2.append(';');
String aRed( '[' );
aRed += pFormatScanner->GetRedString();
aRed += ']';
- *pFormat2 += aRed;
+ format2.append(aRed);
- *pFormat1 += aNegativeBank;
- *pFormat2 += aNegativeBank;
+ format2.append(aNegativeBank);
+ rStrArr.push_back(format2.makeStringAndClear());
- rStrArr.push_back( pFormat1 );
- rStrArr.push_back( pFormat2 );
nDefault = rStrArr.size() - 1;
}
else
@@ -3694,7 +3696,6 @@ sal_uInt16 SvNumberFormatter::GetCurrencyFormatStrings( NfWSStringsDtor& rStrArr
// duplicates if no decimals in currency.
String aPositive, aNegative, aPositiveNoDec, aNegativeNoDec,
aPositiveDashed, aNegativeDashed;
- WSStringPtr pFormat1, pFormat2, pFormat3, pFormat4, pFormat5;
String aRed( '[' );
aRed += pFormatScanner->GetRedString();
@@ -3702,6 +3703,11 @@ sal_uInt16 SvNumberFormatter::GetCurrencyFormatStrings( NfWSStringsDtor& rStrArr
rCurr.BuildPositiveFormatString( aPositive, false, *xLocaleData, 1 );
rCurr.BuildNegativeFormatString( aNegative, false, *xLocaleData, 1 );
+ ::rtl::OUStringBuffer format1;
+ ::rtl::OUStringBuffer format2;
+ ::rtl::OUStringBuffer format3;
+ ::rtl::OUStringBuffer format4;
+ ::rtl::OUStringBuffer format5;
if ( rCurr.GetDigits() )
{
rCurr.BuildPositiveFormatString( aPositiveNoDec, false, *xLocaleData, 0 );
@@ -3709,45 +3715,42 @@ sal_uInt16 SvNumberFormatter::GetCurrencyFormatStrings( NfWSStringsDtor& rStrArr
rCurr.BuildPositiveFormatString( aPositiveDashed, false, *xLocaleData, 2 );
rCurr.BuildNegativeFormatString( aNegativeDashed, false, *xLocaleData, 2 );
- pFormat1 = new String( aPositiveNoDec );
- *pFormat1 += ';';
- pFormat3 = new String( *pFormat1 );
- pFormat5 = new String( aPositiveDashed );
- *pFormat5 += ';';
-
- *pFormat1 += aNegativeNoDec;
+ format1.append(aPositiveNoDec);
+ format1.append(';');
+ format1.append(aNegativeNoDec);
- *pFormat3 += aRed;
- *pFormat5 += aRed;
+ format3.append(aPositiveNoDec);
+ format3.append(';');
+ format3.append(aRed);
+ format3.append(aNegativeNoDec);
- *pFormat3 += aNegativeNoDec;
- *pFormat5 += aNegativeDashed;
- }
- else
- {
- pFormat1 = NULL;
- pFormat3 = NULL;
- pFormat5 = NULL;
+ format5.append(aPositiveDashed);
+ format5.append(';');
+ format5.append(aRed);
+ format5.append(aNegativeDashed);
}
- pFormat2 = new String( aPositive );
- *pFormat2 += ';';
- pFormat4 = new String( *pFormat2 );
+ format2.append(aPositive);
+ format2.append(';');
+ format2.append(aNegative);
- *pFormat2 += aNegative;
+ format4.append(aPositive);
+ format4.append(';');
+ format4.append(aRed);
+ format4.append(aNegative);
- *pFormat4 += aRed;
- *pFormat4 += aNegative;
-
- if ( pFormat1 )
- rStrArr.push_back( pFormat1 );
- rStrArr.push_back( pFormat2 );
- if ( pFormat3 )
- rStrArr.push_back( pFormat3 );
- rStrArr.push_back( pFormat4 );
+ if (rCurr.GetDigits()) {
+ rStrArr.push_back(format1.makeStringAndClear());
+ }
+ rStrArr.push_back(format2.makeStringAndClear());
+ if (rCurr.GetDigits()) {
+ rStrArr.push_back(format3.makeStringAndClear());
+ }
+ rStrArr.push_back(format4.makeStringAndClear());
nDefault = rStrArr.size() - 1;
- if ( pFormat5 )
- rStrArr.push_back( pFormat5 );
+ if (rCurr.GetDigits()) {
+ rStrArr.push_back(format5.makeStringAndClear());
+ }
}
return nDefault;
}