diff options
author | Takeshi Abe <tabe@fixedpoint.jp> | 2016-04-20 20:00:32 +0900 |
---|---|---|
committer | Takeshi Abe <tabe@fixedpoint.jp> | 2016-04-27 23:40:37 +0000 |
commit | 615e3502c5217585501dac27318a2f22847a5605 (patch) | |
tree | e7beeccdc91c7bbd5f343caf53002a14fb77ac82 /starmath/source/parse.cxx | |
parent | a7bd0355cc45ab6d77579c6604a835a5fd0e96cb (diff) |
Resolves: tdf#88320 parsing fails with a subscript number
... ending with comma and followed by non-space.
Change-Id: Ia00c662e31940270690c64e1840417436565a6c7
Reviewed-on: https://gerrit.libreoffice.org/24260
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
Diffstat (limited to 'starmath/source/parse.cxx')
-rw-r--r-- | starmath/source/parse.cxx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/starmath/source/parse.cxx b/starmath/source/parse.cxx index ada838aeffa2..6a7d76b5f02e 100644 --- a/starmath/source/parse.cxx +++ b/starmath/source/parse.cxx @@ -460,6 +460,14 @@ void SmParser::NextToken() } else if (aRes.TokenType & KParseType::ANY_NUMBER) { + assert(aRes.EndPos > 0); + if ( m_aBufferString[aRes.EndPos-1] == ',' && + aRes.EndPos < nBufLen && + aCC.getType( m_aBufferString, aRes.EndPos ) != UnicodeType::SPACE_SEPARATOR ) + { + // Comma followed by a non-space char is unlikely for decimal/thousands separator. + --aRes.EndPos; + } sal_Int32 n = aRes.EndPos - nRealStart; OSL_ENSURE( n >= 0, "length < 0" ); m_aCurToken.eType = TNUMBER; |