summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2015-06-25 22:54:37 +0200
committerCaolán McNamara <caolanm@redhat.com>2015-06-30 11:42:22 +0000
commitfb799a2f6fc21bde34cd36763f6003b845c6a093 (patch)
tree4fb507dc36c8b26cce45d589d9e613c55329ca07
parent2d4f172c963e5503c74ae79318d09392454ae144 (diff)
tdf#44419 in second reference part stop number parsing at separator
Change-Id: I70218bc41df0d56ab42d652aa7ac51733dc06f4b (cherry picked from commit 71dba79c1c84d693a59c53a8965caef0ddd1c2cc) Reviewed-on: https://gerrit.libreoffice.org/16496 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--sc/source/core/tool/compiler.cxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index f192230f5b33..cef2cf74ae86 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -2367,6 +2367,18 @@ Label_MaskStateMachine:
}
else
{
+ // When having parsed a second reference part, ensure that the
+ // i18n parser did not mistakingly parse a number that included
+ // a separator which happened to be meant as a parameter
+ // separator instead.
+ if (mnRangeOpPosInSymbol >= 0 && (aRes.TokenType & KParseType::ASC_NUMBER))
+ {
+ for (sal_Int32 i = nSrcPos; i < aRes.EndPos; ++i)
+ {
+ if (pStart[i] == cSep)
+ aRes.EndPos = i; // also ends for
+ }
+ }
aSymbol.append( pStart + nSrcPos, aRes.EndPos - nSrcPos);
nSrcPos = aRes.EndPos;
c = pStart[nSrcPos];