diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-01-21 15:24:13 +0000 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2018-03-06 21:37:59 +0100 |
commit | 33419a2081cf20062b584de8f4a823f76b1f7a30 (patch) | |
tree | c369cd1c0dcc790a8dc20ca47abc1e47f4150ed3 /svl | |
parent | c9c1d7ea1d192427a671aa85a3e95e8a7c9b248a (diff) |
ofz#5535 max decimal places for rtl_math_round is 20
Change-Id: I636e086c51ceb70bdac72acfbabe99ad29003cdb
Reviewed-on: https://gerrit.libreoffice.org/48268
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-on: https://gerrit.libreoffice.org/48303
Reviewed-by: Eike Rathke <erack@redhat.com>
(cherry picked from commit 7a59ef66c268674548d13c13b19d52a25445299f)
Diffstat (limited to 'svl')
-rw-r--r-- | svl/source/numbers/zforscan.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/svl/source/numbers/zforscan.cxx b/svl/source/numbers/zforscan.cxx index db98f7295fd3..7b7f71066f3b 100644 --- a/svl/source/numbers/zforscan.cxx +++ b/svl/source/numbers/zforscan.cxx @@ -39,6 +39,8 @@ using namespace svt; const sal_Unicode cNoBreakSpace = 0xA0; const sal_Unicode cNarrowNoBreakSpace = 0x202F; +const int MaxCntPost = 20; //max dec places allow by rtl_math_round + ImpSvNumberformatScan::ImpSvNumberformatScan( SvNumberFormatter* pFormatterP ) : eNewLnge(LANGUAGE_DONTKNOW) , eTmpLnge(LANGUAGE_DONTKNOW) @@ -2493,7 +2495,7 @@ sal_Int32 ImpSvNumberformatScan::FinalScan( OUString& rString ) switch( sStrArray[i][0] ) { case '0': - if ( bTimePart && Is100SecZero( i, bDecSep ) ) + if (bTimePart && Is100SecZero(i, bDecSep) && nCounter < MaxCntPost) { bDecSep = true; nTypeArray[i] = NF_SYMBOLTYPE_DIGIT; @@ -2501,7 +2503,7 @@ sal_Int32 ImpSvNumberformatScan::FinalScan( OUString& rString ) nCounter++; i++; while (i < nAnzStrings && - sStrArray[i][0] == '0') + sStrArray[i][0] == '0' && nCounter < MaxCntPost) { rStr += sStrArray[i]; nTypeArray[i] = NF_SYMBOLTYPE_EMPTY; |