diff options
Diffstat (limited to 'basic/source/sbx/sbxexec.cxx')
-rw-r--r-- | basic/source/sbx/sbxexec.cxx | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/basic/source/sbx/sbxexec.cxx b/basic/source/sbx/sbxexec.cxx index 74cf3b2a21b6..3376d977c82f 100644 --- a/basic/source/sbx/sbxexec.cxx +++ b/basic/source/sbx/sbxexec.cxx @@ -138,16 +138,20 @@ static SbxVariable* Operand SbxVariableRef refVar( new SbxVariable ); const sal_Unicode* p = SkipWhitespace( *ppBuf ); if( !bVar && ( aCharClass.isDigit( *p ) - || ( *p == '.' && aCharClass.isDigit( *( p+1 ) ) ) - || *p == '-' - || *p == '&' ) ) + || ( *p == '.' && aCharClass.isDigit( *( p+1 ) ) ) + || *p == '-' + || *p == '&' ) ) { // A number could be scanned in directly! sal_uInt16 nLen; - if( !refVar->Scan( rtl::OUString( p ), &nLen ) ) + if( !refVar->Scan( OUString( p ), &nLen ) ) + { refVar.Clear(); + } else + { p += nLen; + } } else if( !bVar && *p == '"' ) { @@ -168,7 +172,9 @@ static SbxVariable* Operand refVar->PutString( aString ); } else + { refVar = QualifiedName( pObj, pGbl, &p, SbxCLASS_DONTCARE ); + } *ppBuf = p; if( refVar.Is() ) refVar->AddRef(); |