summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2015-06-25 22:54:37 +0200
committerEike Rathke <erack@redhat.com>2015-06-25 23:04:15 +0200
commitdf06ddf79cf0b5aca037630504a07dd8b2341a43 (patch)
tree998efdd407566002f287ee426d757e61cb1ac494
parent882f8dd06fba025177f8cc1e662c95b01075006d (diff)
tdf#44419 in second reference part stop number parsing at separator
Change-Id: I70218bc41df0d56ab42d652aa7ac51733dc06f4b (cherry picked from commit 71dba79c1c84d693a59c53a8965caef0ddd1c2cc)
-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 04f7c010a652..ec2e796bd5ed 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -2484,6 +2484,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];