"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "sc/source/core/tool/compiler.cxx" between
libreoffice-7.1.5.1.tar.xz and libreoffice-7.1.5.2.tar.xz

About: LibreOffice source code (core). "Fresh" packages (pre-release version).

compiler.cxx  (libreoffice-7.1.5.1.tar.xz):compiler.cxx  (libreoffice-7.1.5.2.tar.xz)
skipping to change at line 2754 skipping to change at line 2754
// separators then it may be parsed away in numbers. This is // separators then it may be parsed away in numbers. This is
// specifically the case with NO-BREAK SPACE, which actually triggers // specifically the case with NO-BREAK SPACE, which actually triggers
// the bi18n case (which we don't want to include as yet another // the bi18n case (which we don't want to include as yet another
// special case above as it is rare enough and doesn't generally occur // special case above as it is rare enough and doesn't generally occur
// in formulas). // in formulas).
const sal_Unicode cGroupSep = ScGlobal::getLocaleDataPtr()->getNumThousa ndSep()[0]; const sal_Unicode cGroupSep = ScGlobal::getLocaleDataPtr()->getNumThousa ndSep()[0];
const bool bGroupSeparator = (128 <= cGroupSep && cGroupSep != cSep && const bool bGroupSeparator = (128 <= cGroupSep && cGroupSep != cSep &&
cGroupSep != cArrayColSep && cGroupSep != cArrayRowSep && cGroupSep != cArrayColSep && cGroupSep != cArrayRowSep &&
cGroupSep != cDecSep && cGroupSep != cDecSepAlt && cGroupSep != cDecSep && cGroupSep != cDecSepAlt &&
cGroupSep != cSheetPrefix && cGroupSep != cSheetSep); cGroupSep != cSheetPrefix && cGroupSep != cSheetSep);
// If a numeric context triggered bi18n then use the default locale's
// CharClass, this may accept group separator as well.
const CharClass* pMyCharClass = (ScGlobal::getCharClassPtr()->isDigit( O
UString(pStart[nSrcPos]), 0) ?
ScGlobal::getCharClassPtr() : pCharClass);
OUStringBuffer aSymbol; OUStringBuffer aSymbol;
mnRangeOpPosInSymbol = -1; mnRangeOpPosInSymbol = -1;
FormulaError nErr = FormulaError::NONE; FormulaError nErr = FormulaError::NONE;
do do
{ {
bi18n = false; bi18n = false;
// special case (e.g. $'sheetname' in OOO A1) // special case (e.g. $'sheetname' in OOO A1)
if ( pStart[nSrcPos] == cSheetPrefix && pStart[nSrcPos+1] == '\'' ) if ( pStart[nSrcPos] == cSheetPrefix && pStart[nSrcPos+1] == '\'' )
aSymbol.append(pStart[nSrcPos++]); aSymbol.append(pStart[nSrcPos++]);
ParseResult aRes = pConv->parseAnyToken( aFormula, nSrcPos, pCharCla ss, bGroupSeparator); ParseResult aRes = pConv->parseAnyToken( aFormula, nSrcPos, pMyCharC lass, bGroupSeparator);
if ( !aRes.TokenType ) if ( !aRes.TokenType )
{ {
nErr = FormulaError::IllegalChar; nErr = FormulaError::IllegalChar;
SetError( nErr ); // parsed chars as string SetError( nErr ); // parsed chars as string
} }
if ( aRes.EndPos <= nSrcPos ) if ( aRes.EndPos <= nSrcPos )
{ {
// Could not parse anything meaningful. // Could not parse anything meaningful.
assert(!aRes.TokenType); assert(!aRes.TokenType);
 End of changes. 2 change blocks. 
1 lines changed or deleted 6 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)