[Libreoffice-commits] .: basic/source

August Sodora augsod at kemper.freedesktop.org
Sun Dec 4 19:13:48 PST 2011


 basic/source/comp/scanner.cxx |   17 +++++++++++++----
 basic/source/inc/scanner.hxx  |    1 +
 2 files changed, 14 insertions(+), 4 deletions(-)

New commits:
commit 40be618fb31754611dbd4241322004b205774976
Author: August Sodora <augsod at gmail.com>
Date:   Sun Dec 4 22:13:24 2011 -0500

    Refactor scanAlphanumeric

diff --git a/basic/source/comp/scanner.cxx b/basic/source/comp/scanner.cxx
index cc17fd5..4b4ba23 100644
--- a/basic/source/comp/scanner.cxx
+++ b/basic/source/comp/scanner.cxx
@@ -150,6 +150,17 @@ static SbxDataType GetSuffixType( sal_Unicode c )
 // return value is sal_False at EOF or errors
 #define BUF_SIZE 80
 
+void SbiScanner::scanAlphanumeric()
+{
+    sal_uInt16 n = nCol;
+    while(theBasicCharClass::get().isAlphaNumeric(*pLine, bCompatible) || *pLine == '_')
+    {
+        pLine++;
+        nCol++;
+    }
+    aSym = aLine.copy(n, nCol - n);
+}
+
 void SbiScanner::scanGoto()
 {
     sal_uInt16 nTestCol = nCol;
@@ -240,10 +251,8 @@ bool SbiScanner::NextSym()
         {   pLine++;
             goto eoln;  }
         bSymbol = true;
-        sal_uInt16 n = nCol;
-        for ( ; (theBasicCharClass::get().isAlphaNumeric( *pLine, bCompatible ) || ( *pLine == '_' ) ); pLine++ )
-            nCol++;
-        aSym = aLine.copy( n, nCol - n );
+
+        scanAlphanumeric();
 
         // Special handling for "go to"
         if( bCompatible && *pLine && aSym.equalsIgnoreAsciiCaseAsciiL( RTL_CONSTASCII_STRINGPARAM("go") ) )
diff --git a/basic/source/inc/scanner.hxx b/basic/source/inc/scanner.hxx
index c254cf2..abda26b 100644
--- a/basic/source/inc/scanner.hxx
+++ b/basic/source/inc/scanner.hxx
@@ -46,6 +46,7 @@ class SbiScanner
     const sal_Unicode* pLine;
     const sal_Unicode* pSaveLine;
 
+    void scanAlphanumeric();
     void scanGoto();
 protected:
     ::rtl::OUString aSym;


More information about the Libreoffice-commits mailing list