sw/source/filter/ww8/ww8par5.cxx |  327 +++++++++++++++++----------------------
 1 file changed, 148 insertions(+), 179 deletions(-)

New commits:
commit 5114a1ecfad8e78dad8f4acec96a6ca1e6a6e047
Author: Matteo Casalin <matteo.casa...@yahoo.com>
Date:   Fri Aug 30 00:00:27 2013 +0200

    String to OUString, xub_StrLen to sal_Int32
    
    Change-Id: I3e21da63ce60b518681e1479d72d60d94c8b586e
    Reviewed-on: https://gerrit.libreoffice.org/5732
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sw/source/filter/ww8/ww8par5.cxx b/sw/source/filter/ww8/ww8par5.cxx
index 288d97a..b88cddd 100644
--- a/sw/source/filter/ww8/ww8par5.cxx
+++ b/sw/source/filter/ww8/ww8par5.cxx
@@ -98,38 +98,44 @@ using namespace nsSwDocInfoSubType;
 class WW8ReadFieldParams
 {
 private:
-    String aData;
-    xub_StrLen nLen, nFnd, nNext, nSavPtr;
+    OUString aData;
+    sal_Int32 nLen;
+    sal_Int32 nFnd;
+    sal_Int32 nNext;
+    sal_Int32 nSavPtr;
 public:
-    WW8ReadFieldParams( const String& rData );
+    WW8ReadFieldParams( const OUString& rData );
     ~WW8ReadFieldParams();
 
-    xub_StrLen GoToTokenParam();
-    long SkipToNextToken();
-    xub_StrLen GetTokenSttPtr() const   { return nFnd;  }
+    sal_Int32 GoToTokenParam();
+    sal_Int32 SkipToNextToken();
+    sal_Int32 GetTokenSttPtr() const   { return nFnd;  }
 
-    xub_StrLen FindNextStringPiece( xub_StrLen _nStart = STRING_NOTFOUND );
-    bool GetTokenSttFromTo(xub_StrLen* _pFrom, xub_StrLen* _pTo,
-        xub_StrLen _nMax);
+    sal_Int32 FindNextStringPiece( sal_Int32 _nStart = -1 );
+    bool GetTokenSttFromTo(sal_Int32* _pFrom, sal_Int32* _pTo, sal_Int32 
_nMax);
 
-    String GetResult() const;
+    OUString GetResult() const;
 };
 
 
-WW8ReadFieldParams::WW8ReadFieldParams( const String& _rData )
-    : aData( _rData ), nLen( _rData.Len() ), nNext( 0 )
+WW8ReadFieldParams::WW8ReadFieldParams( const OUString& _rData )
+    : aData( _rData )
+    , nLen( _rData.getLength() )
+    , nFnd( 0 )
+    , nNext( 0 )
+    , nSavPtr( 0 )
 {
     /*
         erstmal nach einer oeffnenden Klammer oder einer Leerstelle oder einem
         Anfuehrungszeichen oder einem Backslash suchen, damit der Feldbefehl
         (also INCLUDEPICTURE bzw EINFUeGENGRAFIK bzw ...) ueberlesen wird
     */
-    while( (nLen > nNext) && (aData.GetChar( nNext ) == ' ') )
+    while ( nNext<nLen && aData[nNext]==' ' )
         ++nNext;
 
     sal_Unicode c;
     while(     nLen > nNext
-            && (c = aData.GetChar( nNext )) != ' '
+            && (c = aData[nNext]) != ' '
             && c != '"'
             && c != '\\'
             && c != 132
@@ -147,55 +153,45 @@ WW8ReadFieldParams::~WW8ReadFieldParams()
 }
 
 
-String WW8ReadFieldParams::GetResult() const
+OUString WW8ReadFieldParams::GetResult() const
 {
-    return    (STRING_NOTFOUND == nFnd)
-            ? aEmptyStr
-            : aData.Copy( nFnd, (nSavPtr - nFnd) );
+    return nFnd<0 && nSavPtr>nFnd ? OUString() : aData.copy( nFnd, 
nSavPtr-nFnd );
 }
 
 
-xub_StrLen WW8ReadFieldParams::GoToTokenParam()
+sal_Int32 WW8ReadFieldParams::GoToTokenParam()
 {
-    xub_StrLen nOld = nNext;
+    const sal_Int32 nOld = nNext;
     if( -2 == SkipToNextToken() )
         return GetTokenSttPtr();
     nNext = nOld;
-    return STRING_NOTFOUND;
+    return -1;
 }
 
 // ret: -2: NOT a '\' parameter but normal Text
-long WW8ReadFieldParams::SkipToNextToken()
+sal_Int32 WW8ReadFieldParams::SkipToNextToken()
 {
-    long nRet = -1;     // Ende
-    if (
-         (STRING_NOTFOUND != nNext) && (nLen > nNext) &&
-         STRING_NOTFOUND != (nFnd = FindNextStringPiece(nNext))
-       )
+    if ( nNext<0 || nNext>=nLen )
+        return -1;
+
+    nFnd = FindNextStringPiece(nNext);
+    if ( nFnd<0 )
+        return -1;
+
+    nSavPtr = nNext;
+
+    if ( aData[nFnd]=='\\' && nFnd+1<nLen && aData[nFnd+1]!='\\' )
     {
-        nSavPtr = nNext;
+        const sal_Int32 nRet = aData[++nFnd];
+        nNext = ++nFnd;             // und dahinter setzen
+        return nRet;
+    }
 
-        if ('\\' == aData.GetChar(nFnd) && '\\' != aData.GetChar(nFnd + 1))
-        {
-            nRet = aData.GetChar(++nFnd);
-            nNext = ++nFnd;             // und dahinter setzen
-        }
-        else
-        {
-            nRet = -2;
-            if (
-                 (STRING_NOTFOUND != nSavPtr ) &&
-                 (
-                   ('"' == aData.GetChar(nSavPtr - 1)) ||
-                   (0x201d == aData.GetChar(nSavPtr - 1))
-                 )
-               )
-            {
-                --nSavPtr;
-            }
-        }
+    if ( nSavPtr>0 && (aData[nSavPtr-1]=='"' || aData[nSavPtr-1]==0x201d ) )
+    {
+        --nSavPtr;
     }
-    return nRet;
+    return -2;
 }
 
 // FindNextPara sucht naechsten Backslash-Parameter oder naechste Zeichenkette
@@ -207,48 +203,48 @@ long WW8ReadFieldParams::SkipToNextToken()
 // Returnwert: 0 falls String-Ende erreicht,
 //             ansonsten Anfang des Paramters bzw. der Zeichenkette
 //
-xub_StrLen WW8ReadFieldParams::FindNextStringPiece(const xub_StrLen nStart)
+sal_Int32 WW8ReadFieldParams::FindNextStringPiece(const sal_Int32 nStart)
 {
-    xub_StrLen  n = ( STRING_NOTFOUND == nStart ) ? nFnd : nStart;  // Anfang
-    xub_StrLen n2;          // Ende
+    sal_Int32  n = nStart<0  ? nFnd : nStart;  // Anfang
+    sal_Int32 n2;          // Ende
 
-    nNext = STRING_NOTFOUND;        // Default fuer nicht gefunden
+    nNext = -1;        // Default fuer nicht gefunden
 
-    while( (nLen > n) && (aData.GetChar( n ) == ' ') )
+    while ( n<nLen && aData[n]==' ' )
         ++n;
 
-    if ( aData.GetChar( n ) == 0x13 )
+    if ( n==nLen )
+        return -1;
+
+    if ( aData[n]==0x13 )
     {
         // Skip the nested field code since it's not supported
-        while ( ( nLen > n ) && ( aData.GetChar( n ) != 0x14 ) )
-            n++;
+        while ( n<nLen && aData[n]!=0x14 )
+            ++n;
+        if ( n==nLen )
+            return -1;
     }
 
-    if( nLen == n )
-        return STRING_NOTFOUND;     // String End reached!
-
-    if(     (aData.GetChar( n ) == '"')     // Anfuehrungszeichen vor Para?
-        ||  (aData.GetChar( n ) == 0x201c)
-        ||  (aData.GetChar( n ) == 132)
-        ||  (aData.GetChar( n ) == 0x14) )
+    // Anfuehrungszeichen vor Para?
+    if ( aData[n]=='"' || aData[n]==0x201c || aData[n]==132 || aData[n]==0x14 )
     {
         n++;                        // Anfuehrungszeichen ueberlesen
         n2 = n;                     // ab hier nach Ende suchen
         while(     (nLen > n2)
-                && (aData.GetChar( n2 ) != '"')
-                && (aData.GetChar( n2 ) != 0x201d)
-                && (aData.GetChar( n2 ) != 147)
-                && (aData.GetChar( n2 ) != 0x15) )
+                && (aData[n2] != '"')
+                && (aData[n2] != 0x201d)
+                && (aData[n2] != 147)
+                && (aData[n2] != 0x15) )
             n2++;                   // Ende d. Paras suchen
     }
     else                        // keine Anfuehrungszeichen
     {
         n2 = n;                     // ab hier nach Ende suchen
-        while( (nLen > n2) && (aData.GetChar( n2 ) != ' ') ) // Ende d. Paras 
suchen
+        while ( n2<nLen && aData[n2]!=' ' ) // Ende d. Paras suchen
         {
-            if( aData.GetChar( n2 ) == '\\' )
+            if ( aData[n2]=='\\' )
             {
-                if( aData.GetChar( n2+1 ) == '\\' )
+                if ( n2+1<nLen && aData[n2+1]=='\\' )
                     n2 += 2;        // Doppel-Backslash -> OK
                 else
                 {
@@ -263,7 +259,7 @@ xub_StrLen WW8ReadFieldParams::FindNextStringPiece(const 
xub_StrLen nStart)
     }
     if( nLen > n2 )
     {
-        if(aData.GetChar( n2 ) != ' ') n2++;
+        if (aData[n2]!=' ') ++n2;
         nNext = n2;
     }
     return n;
@@ -272,22 +268,21 @@ xub_StrLen WW8ReadFieldParams::FindNextStringPiece(const 
xub_StrLen nStart)
 
 
 // read parameters "1-3" or 1-3 with both values between 1 and nMax
-bool WW8ReadFieldParams::GetTokenSttFromTo(sal_uInt16* pFrom, sal_uInt16* pTo, 
sal_uInt16 nMax)
+bool WW8ReadFieldParams::GetTokenSttFromTo(sal_Int32* pFrom, sal_Int32* pTo, 
sal_Int32 nMax)
 {
-    sal_uInt16 nStart = 0;
-    sal_uInt16 nEnd   = 0;
-    xub_StrLen n = GoToTokenParam();
-    if( STRING_NOTFOUND != n )
+    sal_Int32 nStart = 0;
+    sal_Int32 nEnd   = 0;
+    if ( GoToTokenParam()>=0 )
     {
 
-        String sParams( GetResult() );
+        const OUString sParams( GetResult() );
 
         sal_Int32 nIndex = 0;
-        String sStart( sParams.GetToken(0, '-', nIndex) );
-        if( -1 != nIndex )
+        const OUString sStart( sParams.getToken(0, '-', nIndex) );
+        if (nIndex>=0)
         {
-            nStart = static_cast<sal_uInt16>(sStart.ToInt32());
-            nEnd   = static_cast<sal_uInt16>(sParams.Copy(nIndex).ToInt32());
+            nStart = sStart.toInt32();
+            nEnd   = sParams.copy(nIndex).toInt32();
         }
     }
     if( pFrom ) *pFrom = nStart;
@@ -1271,7 +1266,7 @@ eF_ResT SwWW8ImplReader::Read_F_Input( WW8FieldDesc* pF, 
String& rStr )
 {
     String aDef;
     String aQ;
-    long nRet;
+    sal_Int32 nRet;
     WW8ReadFieldParams aReadParam( rStr );
     while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
     {
@@ -1283,11 +1278,8 @@ eF_ResT SwWW8ImplReader::Read_F_Input( WW8FieldDesc* pF, 
String& rStr )
             break;
         case 'd':
         case 'D':
-            {
-                xub_StrLen n = aReadParam.GoToTokenParam();
-                if( STRING_NOTFOUND != n )
-                    aDef = aReadParam.GetResult();
-            }
+            if ( aReadParam.GoToTokenParam()>=0 )
+                aDef = aReadParam.GetResult();
             break;
         }
     }
@@ -1458,7 +1450,7 @@ eF_ResT SwWW8ImplReader::Read_F_InputVar( WW8FieldDesc* 
pF, String& rStr )
     String sOrigName;
     String aQ;
     String aDef;
-    long nRet;
+    sal_Int32 nRet;
     WW8ReadFieldParams aReadParam( rStr );
     while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
     {
@@ -1472,7 +1464,7 @@ eF_ResT SwWW8ImplReader::Read_F_InputVar( WW8FieldDesc* 
pF, String& rStr )
             break;
         case 'd':
         case 'D':
-            if (STRING_NOTFOUND != aReadParam.GoToTokenParam())
+            if ( aReadParam.GoToTokenParam()>=0 )
                 aDef = aReadParam.GetResult();
             break;
         }
@@ -1531,7 +1523,7 @@ eF_ResT SwWW8ImplReader::Read_F_Seq( WW8FieldDesc*, 
String& rStr )
     bool bCountOn   = true;
     String sStart;
     SvxExtNumType eNumFormat = SVX_NUM_ARABIC;
-    long nRet;
+    sal_Int32 nRet;
     WW8ReadFieldParams aReadParam( rStr );
     while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
     {
@@ -1551,15 +1543,15 @@ eF_ResT SwWW8ImplReader::Read_F_Seq( WW8FieldDesc*, 
String& rStr )
 
         case '*':
             bFormat = true;                 // Format-Flag aktivieren
-            nRet = aReadParam.SkipToNextToken();
-            if( -2 == nRet && !( 
aReadParam.GetResult().EqualsAscii("MERGEFORMAT") || 
aReadParam.GetResult().EqualsAscii("CHARFORMAT") ))
+            if ( aReadParam.SkipToNextToken()!=-2 )
+                break;
+            if ( aReadParam.GetResult()!="MERGEFORMAT" && 
aReadParam.GetResult()!="CHARFORMAT" )
                 eNumFormat = GetNumTypeFromName( aReadParam.GetResult() );
             break;
 
         case 'r':
             bCountOn  = false;
-            nRet = aReadParam.SkipToNextToken();
-            if( -2 == nRet )
+            if ( aReadParam.SkipToNextToken()==-2 )
                 sStart = aReadParam.GetResult();
             break;
 
@@ -1607,7 +1599,7 @@ eF_ResT SwWW8ImplReader::Read_F_DocInfo( WW8FieldDesc* 
pF, String& rStr )
     {
         String aDocProperty;
         WW8ReadFieldParams aReadParam( rStr );
-        long nRet;
+        sal_Int32 nRet;
         while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
         {
             switch( nRet )
@@ -1795,7 +1787,7 @@ eF_ResT SwWW8ImplReader::Read_F_DocInfo( WW8FieldDesc* 
pF, String& rStr )
     if ( 64 == pF->nId )
     {
         WW8ReadFieldParams aReadParam( rStr );
-        long nRet;
+        sal_Int32 nRet;
         while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
         {
             switch( nRet )
@@ -1848,7 +1840,7 @@ eF_ResT SwWW8ImplReader::Read_F_DateTime( 
WW8FieldDesc*pF, String& rStr )
 {
     bool bHijri = false;
     WW8ReadFieldParams aReadParam(rStr);
-    long nTok;
+    sal_Int32 nTok;
     while (-1 != (nTok = aReadParam.SkipToNextToken()))
     {
         switch (nTok)
@@ -1908,7 +1900,7 @@ eF_ResT SwWW8ImplReader::Read_F_DateTime( 
WW8FieldDesc*pF, String& rStr )
 eF_ResT SwWW8ImplReader::Read_F_FileName(WW8FieldDesc*, String &rStr)
 {
     SwFileNameFormat eType = FF_NAME;
-    long nRet;
+    sal_Int32 nRet;
     WW8ReadFieldParams aReadParam(rStr);
     while (-1 != (nRet = aReadParam.SkipToNextToken()))
     {
@@ -1964,7 +1956,7 @@ eF_ResT SwWW8ImplReader::Read_F_Symbol( WW8FieldDesc*, 
String& rStr )
     String aQ;
     String aName;
     sal_Int32 nSize = 0;
-    long nRet;
+    sal_Int32 nRet;
     WW8ReadFieldParams aReadParam( rStr );
     while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
     {
@@ -1976,21 +1968,16 @@ eF_ResT SwWW8ImplReader::Read_F_Symbol( WW8FieldDesc*, 
String& rStr )
             break;
         case 'f':
         case 'F':
-            {
-                xub_StrLen n = aReadParam.GoToTokenParam();
-                if( STRING_NOTFOUND != n )
-                    aName = aReadParam.GetResult();
-            }
+            if ( aReadParam.GoToTokenParam()>=0 )
+                aName = aReadParam.GetResult();
             break;
         case 's':
         case 'S':
+            if ( aReadParam.GoToTokenParam()>=0 )
             {
-                String aSiz;
-                xub_StrLen n = aReadParam.GoToTokenParam();
-                if (STRING_NOTFOUND != n)
-                    aSiz = aReadParam.GetResult();
-                if (aSiz.Len())
-                    nSize = aSiz.ToInt32() * 20; // pT -> twip
+                const OUString aSiz = aReadParam.GetResult();
+                if ( !aSiz.isEmpty() )
+                    nSize = aSiz.toInt32() * 20; // pT -> twip
             }
             break;
         }
@@ -2033,7 +2020,7 @@ eF_ResT SwWW8ImplReader::Read_F_Embedd( WW8FieldDesc*, 
String& rStr )
 {
     String sHost;
 
-    long nRet;
+    sal_Int32 nRet;
     WW8ReadFieldParams aReadParam( rStr );
     while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
     {
@@ -2061,7 +2048,7 @@ eF_ResT SwWW8ImplReader::Read_F_Set( WW8FieldDesc* pF, 
String& rStr )
 {
     String sOrigName;
     String sVal;
-    long nRet;
+    sal_Int32 nRet;
     WW8ReadFieldParams aReadParam( rStr );
     while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
     {
@@ -2096,7 +2083,7 @@ eF_ResT SwWW8ImplReader::Read_F_Ref( WW8FieldDesc*, 
String& rStr )
     String sOrigBkmName;
     REFERENCEMARK eFormat = REF_CONTENT;
 
-    long nRet;
+    sal_Int32 nRet;
     WW8ReadFieldParams aReadParam( rStr );
     while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
     {
@@ -2168,7 +2155,7 @@ eF_ResT SwWW8ImplReader::Read_F_NoteReference( 
WW8FieldDesc*, String& rStr )
     String aBkmName;
     bool bAboveBelow = false;
 
-    long nRet;
+    sal_Int32 nRet;
     WW8ReadFieldParams aReadParam( rStr );
     while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
     {
@@ -2214,7 +2201,7 @@ eF_ResT SwWW8ImplReader::Read_F_NoteReference( 
WW8FieldDesc*, String& rStr )
 eF_ResT SwWW8ImplReader::Read_F_PgRef( WW8FieldDesc*, String& rStr )
 {
     String sOrigName;
-    long nRet;
+    sal_Int32 nRet;
     WW8ReadFieldParams aReadParam( rStr );
     while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
     {
@@ -2279,7 +2266,7 @@ eF_ResT SwWW8ImplReader::Read_F_Macro( WW8FieldDesc*, 
String& rStr)
 {
     String aName;
     String aVText;
-    long nRet;
+    sal_Int32 nRet;
     bool bNewVText = true;
     bool bBracket  = false;
     WW8ReadFieldParams aReadParam( rStr );
@@ -2403,7 +2390,7 @@ eF_ResT SwWW8ImplReader::Read_F_IncludePicture( 
WW8FieldDesc*, String& rStr )
     String aGrfName;
     bool bEmbedded = true;
 
-    long nRet;
+    sal_Int32 nRet;
     WW8ReadFieldParams aReadParam( rStr );
     while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
     {
@@ -2468,7 +2455,7 @@ eF_ResT SwWW8ImplReader::Read_F_IncludeText( 
WW8FieldDesc* /*pF*/, String& rStr
 {
     String aPara;
     String aBook;
-    long nRet;
+    sal_Int32 nRet;
     WW8ReadFieldParams aReadParam( rStr );
     while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
     {
@@ -2534,7 +2521,7 @@ eF_ResT SwWW8ImplReader::Read_F_IncludeText( 
WW8FieldDesc* /*pF*/, String& rStr
 eF_ResT SwWW8ImplReader::Read_F_DBField( WW8FieldDesc* pF, String& rStr )
 {
     String aName;
-    long nRet;
+    sal_Int32 nRet;
     WW8ReadFieldParams aReadParam( rStr );
     while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
     {
@@ -2597,7 +2584,7 @@ eF_ResT SwWW8ImplReader::Read_F_DBNum( WW8FieldDesc*, 
String& )
 eF_ResT SwWW8ImplReader::Read_F_Equation( WW8FieldDesc*, String& rStr )
 {
     WW8ReadFieldParams aReadParam( rStr );
-    long cChar = aReadParam.SkipToNextToken();
+    const sal_Int32 cChar = aReadParam.SkipToNextToken();
     if ('o' == cChar || 'O' == cChar)
         Read_SubF_Combined(aReadParam);
     else if ('*' == cChar)
@@ -2609,33 +2596,31 @@ void SwWW8ImplReader::Read_SubF_Combined( 
WW8ReadFieldParams& rReadParam)
 {
     String sCombinedCharacters;
     WW8ReadFieldParams aOriFldParam = rReadParam;
-    long cGetChar = rReadParam.SkipToNextToken();
+    const sal_Int32 cGetChar = rReadParam.SkipToNextToken();
     switch( cGetChar )
     {
     case 'a':
     case 'A':
+        if ( !rReadParam.GetResult().startsWithIgnoreAsciiCase("d") )
         {
-            String sTemp = rReadParam.GetResult();
-            if ( !sTemp.EqualsIgnoreCaseAscii("d", 0, 1) )
-            {
-                break;
-            }
-            rReadParam.SkipToNextToken();
+            break;
         }
+        rReadParam.SkipToNextToken();
+        // intentional fall-through
     case -2:
         {
-            if ( rReadParam.GetResult().EqualsIgnoreCaseAscii('(', 0, 1) )
+            if ( rReadParam.GetResult().startsWithIgnoreAsciiCase("(") )
             {
                 for (int i=0;i<2;i++)
                 {
                     if ('s' == rReadParam.SkipToNextToken())
                     {
-                        long cChar = rReadParam.SkipToNextToken();
+                        const sal_Int32 cChar = rReadParam.SkipToNextToken();
                         if (-2 != rReadParam.SkipToNextToken())
                             break;
-                        String sF = rReadParam.GetResult();
-                        if ((('u' == cChar) && sF.EqualsIgnoreCaseAscii('p', 
0, 1))
-                            || (('d' == cChar) && 
sF.EqualsIgnoreCaseAscii('o', 0, 1)))
+                        const OUString sF = rReadParam.GetResult();
+                        if ((('u' == cChar) && 
sF.startsWithIgnoreAsciiCase("p"))
+                            || (('d' == cChar) && 
sF.startsWithIgnoreAsciiCase("o")))
                         {
                             if (-2 == rReadParam.SkipToNextToken())
                             {
@@ -2707,7 +2692,7 @@ void SwWW8ImplReader::Read_SubF_Ruby( WW8ReadFieldParams& 
rReadParam)
     sal_uInt32 nFontSize=0;
     String sRuby;
     String sText;
-    long nRet;
+    sal_Int32 nRet;
     while( -1 != ( nRet = rReadParam.SkipToNextToken() ))
     {
         switch( nRet )
@@ -2740,7 +2725,7 @@ void SwWW8ImplReader::Read_SubF_Ruby( WW8ReadFieldParams& 
rReadParam)
                 if ('u' == nRet)
                 {
                     if (-2 == rReadParam.SkipToNextToken() &&
-                      
(rReadParam.GetResult().EqualsIgnoreCaseAscii(OUString('p'), 0, 1)))
+                        rReadParam.GetResult().startsWithIgnoreAsciiCase("p"))
                     {
                         if (-2 == rReadParam.SkipToNextToken())
                         {
@@ -2869,8 +2854,7 @@ static void lcl_toxMatchACSwitch(  SwWW8ImplReader& 
/*rReader*/,
                             WW8ReadFieldParams& rParam,
                             SwCaptionDisplay eCaptionType)
 {
-    xub_StrLen n = rParam.GoToTokenParam();
-    if( STRING_NOTFOUND != n )
+    if ( rParam.GoToTokenParam()>=0 )
     {
         SwTOXType* pType = (SwTOXType*)rDoc.GetTOXType( TOX_ILLUSTRATIONS, 0);
         rBase.RegisterToTOXType( *pType );
@@ -2938,8 +2922,7 @@ static void EnsureMaxLevelForTemplates(SwTOXBase& rBase)
 static void lcl_toxMatchTSwitch(SwWW8ImplReader& rReader, SwTOXBase& rBase,
     WW8ReadFieldParams& rParam)
 {
-    xub_StrLen n = rParam.GoToTokenParam();
-    if( STRING_NOTFOUND != n )
+    if ( rParam.GoToTokenParam()>=0 )
     {
         String sParams( rParam.GetResult() );
         if( sParams.Len() )
@@ -3085,31 +3068,26 @@ eF_ResT SwWW8ImplReader::Read_F_Tox( WW8FieldDesc* pF, 
String& rStr )
             // die Parameter \o in 1 bis 9 liegen
             // oder der Parameter \f existiert
             // oder GARKEINE Switches Parameter angegeben sind.
-            long nRet;
+            sal_Int32 nRet;
             WW8ReadFieldParams aReadParam( rStr );
             while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
             {
                 switch( nRet )
                 {
                 case 'c':
+                    if ( aReadParam.GoToTokenParam()>=0 )
                     {
-                        xub_StrLen n = aReadParam.GoToTokenParam();
-                        if( STRING_NOTFOUND != n )
+                        const OUString sParams( aReadParam.GetResult() );
+                        // if NO String just ignore the \c
+                        if( !sParams.isEmpty() )
                         {
-                            String sParams( aReadParam.GetResult() );
-                            // if NO String just ignore the \c
-                            if( sParams.Len() )
-                            {
-                                nIndexCols =
-                                    static_cast<sal_uInt16>(sParams.ToInt32());
-                            }
+                            nIndexCols = 
static_cast<sal_uInt16>(sParams.toInt32());
                         }
                     }
                     break;
                 case 'e':
                     {
-                        xub_StrLen n = aReadParam.GoToTokenParam();
-                        if( STRING_NOTFOUND != n )  // if NO String just 
ignore the \e
+                        if ( aReadParam.GoToTokenParam()>=0 )  // if NO String 
just ignore the \e
                         {
                             String sDelimiter( aReadParam.GetResult() );
                             SwForm aForm( pBase->GetTOXForm() );
@@ -3185,8 +3163,8 @@ eF_ResT SwWW8ImplReader::Read_F_Tox( WW8FieldDesc* pF, 
String& rStr )
             // oder der Parameter \f existiert
             // oder GARKEINE Switches Parameter angegeben sind.
             sal_uInt16 eCreateFrom = 0;
-            sal_uInt16 nMaxLevel = 0;
-            long nRet;
+            sal_Int32 nMaxLevel = 0;
+            sal_Int32 nRet;
             WW8ReadFieldParams aReadParam( rStr );
             while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
             {
@@ -3204,7 +3182,7 @@ eF_ResT SwWW8ImplReader::Read_F_Tox( WW8FieldDesc* pF, 
String& rStr )
                     break;
                 case 'o':
                     {
-                        sal_uInt16 nVal;
+                        sal_Int32 nVal;
                         if( !aReadParam.GetTokenSttFromTo(0, &nVal, 
WW8ListManager::nMaxLevel) )
                             nVal = lcl_GetMaxValidWordTOCLevel(aOrigForm);
                         if( nMaxLevel < nVal )
@@ -3217,7 +3195,7 @@ eF_ResT SwWW8ImplReader::Read_F_Tox( WW8FieldDesc* pF, 
String& rStr )
                     break;
                 case 'l':
                     {
-                        sal_uInt16 nVal;
+                        sal_Int32 nVal;
                         if( aReadParam.GetTokenSttFromTo(0, &nVal, 
WW8ListManager::nMaxLevel) )
                         {
                             if( nMaxLevel < nVal )
@@ -3233,8 +3211,7 @@ eF_ResT SwWW8ImplReader::Read_F_Tox( WW8FieldDesc* pF, 
String& rStr )
                     break;
                 case 'p':
                     {
-                        xub_StrLen n = aReadParam.GoToTokenParam();
-                        if( STRING_NOTFOUND != n )  // if NO String just 
ignore the \p
+                        if ( aReadParam.GoToTokenParam()>=0 )  // if NO String 
just ignore the \p
                         {
                             String sDelimiter( aReadParam.GetResult() );
                             SwForm aForm( pBase->GetTOXForm() );
@@ -3289,7 +3266,8 @@ eF_ResT SwWW8ImplReader::Read_F_Tox( WW8FieldDesc* pF, 
String& rStr )
                 case 'n': // don't print page numbers
                     {
                         // read START and END param
-                        sal_uInt16 nStart, nEnd;
+                        sal_Int32 nStart(0);
+                        sal_Int32 nEnd(0);
                         if( !aReadParam.GetTokenSttFromTo(  &nStart, &nEnd,
                             WW8ListManager::nMaxLevel ) )
                         {
@@ -3300,10 +3278,7 @@ eF_ResT SwWW8ImplReader::Read_F_Tox( WW8FieldDesc* pF, 
String& rStr )
                         SwForm aForm( pBase->GetTOXForm() );
                         if (aForm.GetFormMax() <= nEnd)
                             nEnd = aForm.GetFormMax()-1;
-                        for (
-                              sal_uInt16 nLevel = nStart; nLevel <= nEnd;
-                              ++nLevel
-                            )
+                        for ( sal_Int32 nLevel = nStart; nLevel<=nEnd; 
++nLevel )
                         {
                             // Levels count from 1
                             // Level 0 is reserved for CAPTION
@@ -3583,7 +3558,7 @@ eF_ResT SwWW8ImplReader::Read_F_Hyperlink( WW8FieldDesc* 
/*pF*/, String& rStr )
     if (!bDataImport)
     {
         bool bOptions = false;
-        long nRet;
+        sal_Int32 nRet;
         WW8ReadFieldParams aReadParam( rStr );
         while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
         {
@@ -3600,9 +3575,8 @@ eF_ResT SwWW8ImplReader::Read_F_Hyperlink( WW8FieldDesc* 
/*pF*/, String& rStr )
                     break;
 
                 case 'l':
-                    nRet = aReadParam.SkipToNextToken();
                     bOptions = true;
-                    if( -2 == nRet )
+                    if ( aReadParam.SkipToNextToken()==-2 )
                     {
                         sMark = aReadParam.GetResult();
                         if( sMark.Len() && '"' == sMark.GetChar( sMark.Len()-1 
))
@@ -3611,9 +3585,8 @@ eF_ResT SwWW8ImplReader::Read_F_Hyperlink( WW8FieldDesc* 
/*pF*/, String& rStr )
                     }
                     break;
                 case 't':
-                    nRet = aReadParam.SkipToNextToken();
                     bOptions = true;
-                    if (-2 == nRet)
+                    if ( aReadParam.SkipToNextToken()==-2 )
                         sTarget = aReadParam.GetResult();
                     break;
                 case 'h':
@@ -3648,9 +3621,8 @@ static void lcl_ImportTox(SwDoc &rDoc, SwPaM &rPaM, const 
String &rStr, bool bId
 
     sal_uInt16 nLevel = 1;
 
-    xub_StrLen n;
     String sFldTxt;
-    long nRet;
+    sal_Int32 nRet;
     WW8ReadFieldParams aReadParam(rStr);
     while( -1 != ( nRet = aReadParam.SkipToNextToken() ))
         switch( nRet )
@@ -3664,25 +3636,22 @@ static void lcl_ImportTox(SwDoc &rDoc, SwPaM &rPaM, 
const String &rStr, bool bId
             break;
 
         case 'f':
-            n = aReadParam.GoToTokenParam();
-            if( STRING_NOTFOUND != n )
+            if ( aReadParam.GoToTokenParam()>=0 )
             {
-                String sParams( aReadParam.GetResult() );
-                if( 'C' != sParams.GetChar(0) && 'c' != sParams.GetChar(0) )
+                const OUString sParams( aReadParam.GetResult() );
+                if( sParams[0]!='C' && sParams[0]!='c' )
                     eTox = TOX_USER;
             }
             break;
 
         case 'l':
-            n = aReadParam.GoToTokenParam();
-            if( STRING_NOTFOUND != n )
+            if ( aReadParam.GoToTokenParam()>=0 )
             {
-                String sParams( aReadParam.GetResult() );
-                if(    sParams.Len() // if NO String just ignore the \l
-                    && sParams.GetChar( 0 ) > '0'
-                    && sParams.GetChar( 0 ) <= '9' )
+                const OUString sParams( aReadParam.GetResult() );
+                // if NO String just ignore the \l
+                if( !sParams.isEmpty() && sParams[0]>'0' && sParams[0]<='9' )
                 {
-                    nLevel = (sal_uInt16)sParams.ToInt32();
+                    nLevel = (sal_uInt16)sParams.toInt32();
                 }
             }
             break;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to