[PATCH] replace (Xub)String with OUString in vcl

Christina Roßmanith ChrRossmanith at gmx.de
Wed Feb 6 04:44:09 PST 2013


Hi Eike,

Am 06.02.2013 13:38, schrieb Eike Rathke:
> Hi Christina,
>
> On Wednesday, 2013-02-06 12:36:33 +0100, Christina Roßmanith wrote:
>
>>> -                for (xub_StrLen i = (xub_StrLen)(aStr.Len()-1); i > 0; i++ )
>>> +                for (sal_Int32 i = aStr.getLength()-1; i > 0; i++ )
>>>                   {
>>> -                    if ( (aStr.GetChar( i ) >= '0') && (aStr.GetChar( i ) <= '9') )
>>> +                    if ( (aStr[i] >= '0') && (aStr[i] <= '9') )
>>>                           break;
>>> -                    else if ( aStr.GetChar( i ) == '-' )
>>> +                    else if ( aStr[i] == '-' )
>>>                       {
>>>                           bNegative = sal_True;
>>>                           break;
>> In
>>
>> for (sal_Int32 i = aStr.getLength()-1; i > 0; i++ )
>>
>> i starts with at least -1 is tested to be non negative and
>> incremented. Is this code ever used??? Or am I failing to see the
>> magic behind the scenes?
> No, that code doesn't make sense and to me looks it should be
>
>      for (sal_Int32 i = aStr.getLength()-1; i > 0; --i)
>
> Awkward guessing of negative currency formats anyway..
Do you think it is ever used? It would be an endless loop, wouldn't 
it?!? The question is modify to --i or remove some code.

Well there are lots of formats for negativ currencies:

-            if ( (nFormat == 3) || (nFormat == 6)  ||
-                 (nFormat == 7) || (nFormat == 10) )
+            if ( (nFormat == 3) || (nFormat == 6)  || // $1- || 1-$
+                 (nFormat == 7) || (nFormat == 10) )  // 1$- || 1 $-

I've added them as a comment because the numerical codes for the various 
formats are quite non intuitive.

Christina


More information about the LibreOffice mailing list