sc/source/core/tool/interpr2.cxx | 70 ++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 36 deletions(-)
New commits: commit e409c5204e7d3a9f7194dbd3ed0b9569c7d7b4dd Author: Kohei Yoshida <kohei.yosh...@suse.com> Date: Thu Feb 9 23:52:46 2012 -0500 ByteString to rtl::OStringBuffer. diff --git a/sc/source/core/tool/interpr2.cxx b/sc/source/core/tool/interpr2.cxx index 5819851..31e5e84 100644 --- a/sc/source/core/tool/interpr2.cxx +++ b/sc/source/core/tool/interpr2.cxx @@ -2781,20 +2781,20 @@ inline void lclSplitBlock( double& rfInt, sal_Int32& rnBlock, double fValue, dou } /** Appends a digit (0 to 9) to the passed string. */ -void lclAppendDigit( ByteString& rText, sal_Int32 nDigit ) +void lclAppendDigit( rtl::OStringBuffer& rText, sal_Int32 nDigit ) { switch( nDigit ) { - case 0: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_0 ) ); break; - case 1: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_1 ) ); break; - case 2: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_2 ) ); break; - case 3: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_3 ) ); break; - case 4: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_4 ) ); break; - case 5: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_5 ) ); break; - case 6: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_6 ) ); break; - case 7: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_7 ) ); break; - case 8: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_8 ) ); break; - case 9: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_9 ) ); break; + case 0: rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_0) ); break; + case 1: rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_1) ); break; + case 2: rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_2) ); break; + case 3: rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_3) ); break; + case 4: rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_4) ); break; + case 5: rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_5) ); break; + case 6: rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_6) ); break; + case 7: rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_7) ); break; + case 8: rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_8) ); break; + case 9: rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_9) ); break; default: OSL_FAIL( "lclAppendDigit - illegal digit" ); } } @@ -2803,22 +2803,22 @@ void lclAppendDigit( ByteString& rText, sal_Int32 nDigit ) @param nDigit A digit in the range from 1 to 9. @param nPow10 A value in the range from 2 to 5. */ -void lclAppendPow10( ByteString& rText, sal_Int32 nDigit, sal_Int32 nPow10 ) +void lclAppendPow10( rtl::OStringBuffer& rText, sal_Int32 nDigit, sal_Int32 nPow10 ) { OSL_ENSURE( (1 <= nDigit) && (nDigit <= 9), "lclAppendPow10 - illegal digit" ); lclAppendDigit( rText, nDigit ); switch( nPow10 ) { - case 2: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_1E2 ) ); break; - case 3: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_1E3 ) ); break; - case 4: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_1E4 ) ); break; - case 5: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_1E5 ) ); break; + case 2: rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_1E2) ); break; + case 3: rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_1E3) ); break; + case 4: rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_1E4) ); break; + case 5: rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_1E5) ); break; default: OSL_FAIL( "lclAppendPow10 - illegal power" ); } } /** Appends a block of 6 digits (value from 1 to 999,999) to the passed string. */ -void lclAppendBlock( ByteString& rText, sal_Int32 nValue ) +void lclAppendBlock( rtl::OStringBuffer& rText, sal_Int32 nValue ) { OSL_ENSURE( (1 <= nValue) && (nValue <= 999999), "lclAppendBlock - illegal value" ); if( nValue >= 100000 ) @@ -2850,11 +2850,11 @@ void lclAppendBlock( ByteString& rText, sal_Int32 nValue ) if( nTen >= 3 ) lclAppendDigit( rText, nTen ); else if( nTen == 2 ) - rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_20 ) ); - rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_10 ) ); + rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_20) ); + rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_10) ); } if( (nTen > 0) && (nOne == 1) ) - rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_11 ) ); + rText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_11) ); else if( nOne > 0 ) lclAppendDigit( rText, nOne ); } @@ -2889,48 +2889,48 @@ void ScInterpreter::ScBahtText() sal_Int32 nSatang = 0; lclSplitBlock( fBaht, nSatang, fValue, 100.0 ); - ByteString aText; + rtl::OStringBuffer aText; // generate text for Baht value if( fBaht == 0.0 ) { if( nSatang == 0 ) - aText.Append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_0) ); + aText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_0) ); } else while( fBaht > 0.0 ) { - ByteString aBlock; + rtl::OStringBuffer aBlock; sal_Int32 nBlock = 0; lclSplitBlock( fBaht, nBlock, fBaht, 1.0e6 ); if( nBlock > 0 ) lclAppendBlock( aBlock, nBlock ); // add leading "million", if there will come more blocks if( fBaht > 0.0 ) - aBlock.Insert( - rtl::OString(RTL_CONSTASCII_STRINGPARAM(UTF8_TH_1E6)), 0); + aBlock.insert( + 0, rtl::OString(RTL_CONSTASCII_STRINGPARAM(UTF8_TH_1E6))); - aText.Insert( aBlock, 0 ); + aText.insert(0, aBlock.makeStringAndClear()); } - if( aText.Len() > 0 ) - aText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_BAHT ) ); + if (aText.getLength() > 0) + aText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_BAHT) ); // generate text for Satang value if( nSatang == 0 ) { - aText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_DOT0 ) ); + aText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_DOT0) ); } else { lclAppendBlock( aText, nSatang ); - aText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_SATANG ) ); + aText.append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_SATANG) ); } // add the minus sign if( bMinus ) - aText.Insert( - rtl::OString(RTL_CONSTASCII_STRINGPARAM(UTF8_TH_MINUS)), 0); + aText.insert( + 0, rtl::OString(RTL_CONSTASCII_STRINGPARAM(UTF8_TH_MINUS))); - PushString( String( aText, RTL_TEXTENCODING_UTF8 ) ); + PushString( rtl::OStringToOUString(aText.makeStringAndClear(), RTL_TEXTENCODING_UTF8) ); } } commit e33c26e6bd15361651b53f6e34ef860530b24eaa Author: Kohei Yoshida <kohei.yosh...@suse.com> Date: Thu Feb 9 23:43:12 2012 -0500 Expanded macros to make it easier to work on ByteString. diff --git a/sc/source/core/tool/interpr2.cxx b/sc/source/core/tool/interpr2.cxx index 2349886..5819851 100644 --- a/sc/source/core/tool/interpr2.cxx +++ b/sc/source/core/tool/interpr2.cxx @@ -2771,11 +2771,6 @@ void ScInterpreter::ScEuroConvert() #define UTF8_TH_SATANG "\340\270\252\340\270\225\340\270\262\340\270\207\340\270\204\340\271\214" #define UTF8_TH_MINUS "\340\270\245\340\270\232" -#define UTF8_STRINGPARAM( ascii ) ascii, static_cast< xub_StrLen >( sizeof( ascii ) - 1 ) -#define UTF8_CREATE( ascii ) rtl::OString( RTL_CONSTASCII_STRINGPARAM( ascii ) ) -#define UTF8_APPEND( ascii ) Append( UTF8_STRINGPARAM( ascii ) ) -#define UTF8_PREPEND( ascii ) Insert( UTF8_CREATE( ascii ), 0 ) - // local functions ------------------------------------------------------------ namespace { @@ -2790,16 +2785,16 @@ void lclAppendDigit( ByteString& rText, sal_Int32 nDigit ) { switch( nDigit ) { - case 0: rText.UTF8_APPEND( UTF8_TH_0 ); break; - case 1: rText.UTF8_APPEND( UTF8_TH_1 ); break; - case 2: rText.UTF8_APPEND( UTF8_TH_2 ); break; - case 3: rText.UTF8_APPEND( UTF8_TH_3 ); break; - case 4: rText.UTF8_APPEND( UTF8_TH_4 ); break; - case 5: rText.UTF8_APPEND( UTF8_TH_5 ); break; - case 6: rText.UTF8_APPEND( UTF8_TH_6 ); break; - case 7: rText.UTF8_APPEND( UTF8_TH_7 ); break; - case 8: rText.UTF8_APPEND( UTF8_TH_8 ); break; - case 9: rText.UTF8_APPEND( UTF8_TH_9 ); break; + case 0: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_0 ) ); break; + case 1: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_1 ) ); break; + case 2: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_2 ) ); break; + case 3: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_3 ) ); break; + case 4: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_4 ) ); break; + case 5: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_5 ) ); break; + case 6: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_6 ) ); break; + case 7: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_7 ) ); break; + case 8: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_8 ) ); break; + case 9: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_9 ) ); break; default: OSL_FAIL( "lclAppendDigit - illegal digit" ); } } @@ -2814,10 +2809,10 @@ void lclAppendPow10( ByteString& rText, sal_Int32 nDigit, sal_Int32 nPow10 ) lclAppendDigit( rText, nDigit ); switch( nPow10 ) { - case 2: rText.UTF8_APPEND( UTF8_TH_1E2 ); break; - case 3: rText.UTF8_APPEND( UTF8_TH_1E3 ); break; - case 4: rText.UTF8_APPEND( UTF8_TH_1E4 ); break; - case 5: rText.UTF8_APPEND( UTF8_TH_1E5 ); break; + case 2: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_1E2 ) ); break; + case 3: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_1E3 ) ); break; + case 4: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_1E4 ) ); break; + case 5: rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_1E5 ) ); break; default: OSL_FAIL( "lclAppendPow10 - illegal power" ); } } @@ -2855,11 +2850,11 @@ void lclAppendBlock( ByteString& rText, sal_Int32 nValue ) if( nTen >= 3 ) lclAppendDigit( rText, nTen ); else if( nTen == 2 ) - rText.UTF8_APPEND( UTF8_TH_20 ); - rText.UTF8_APPEND( UTF8_TH_10 ); + rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_20 ) ); + rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_10 ) ); } if( (nTen > 0) && (nOne == 1) ) - rText.UTF8_APPEND( UTF8_TH_11 ); + rText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_11 ) ); else if( nOne > 0 ) lclAppendDigit( rText, nOne ); } @@ -2900,7 +2895,7 @@ void ScInterpreter::ScBahtText() if( fBaht == 0.0 ) { if( nSatang == 0 ) - aText.UTF8_APPEND( UTF8_TH_0 ); + aText.Append( RTL_CONSTASCII_STRINGPARAM(UTF8_TH_0) ); } else while( fBaht > 0.0 ) { @@ -2911,26 +2906,29 @@ void ScInterpreter::ScBahtText() lclAppendBlock( aBlock, nBlock ); // add leading "million", if there will come more blocks if( fBaht > 0.0 ) - aBlock.UTF8_PREPEND( UTF8_TH_1E6 ); + aBlock.Insert( + rtl::OString(RTL_CONSTASCII_STRINGPARAM(UTF8_TH_1E6)), 0); + aText.Insert( aBlock, 0 ); } if( aText.Len() > 0 ) - aText.UTF8_APPEND( UTF8_TH_BAHT ); + aText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_BAHT ) ); // generate text for Satang value if( nSatang == 0 ) { - aText.UTF8_APPEND( UTF8_TH_DOT0 ); + aText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_DOT0 ) ); } else { lclAppendBlock( aText, nSatang ); - aText.UTF8_APPEND( UTF8_TH_SATANG ); + aText.Append( RTL_CONSTASCII_STRINGPARAM( UTF8_TH_SATANG ) ); } // add the minus sign if( bMinus ) - aText.UTF8_PREPEND( UTF8_TH_MINUS ); + aText.Insert( + rtl::OString(RTL_CONSTASCII_STRINGPARAM(UTF8_TH_MINUS)), 0); PushString( String( aText, RTL_TEXTENCODING_UTF8 ) ); } _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits