[Libreoffice-commits] core.git: Branch 'libreoffice-5-4' - svl/source sw/qa

Caolán McNamara caolanm at redhat.com
Sat Jan 27 19:50:50 UTC 2018


 svl/source/numbers/zforscan.cxx          |    6 ++++--
 sw/qa/core/data/html/pass/ofz5535-1.html |    1 +
 2 files changed, 5 insertions(+), 2 deletions(-)

New commits:
commit 7a59ef66c268674548d13c13b19d52a25445299f
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sun Jan 21 15:24:13 2018 +0000

    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 at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    Reviewed-on: https://gerrit.libreoffice.org/48303
    Reviewed-by: Eike Rathke <erack at redhat.com>

diff --git a/svl/source/numbers/zforscan.cxx b/svl/source/numbers/zforscan.cxx
index 74a765238518..c8d41ff8396e 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)
@@ -2556,7 +2558,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;
@@ -2564,7 +2566,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;
diff --git a/sw/qa/core/data/html/pass/ofz5535-1.html b/sw/qa/core/data/html/pass/ofz5535-1.html
new file mode 100644
index 000000000000..5439e009b392
--- /dev/null
+++ b/sw/qa/core/data/html/pass/ofz5535-1.html
@@ -0,0 +1 @@
+<table><td SDVALSDNUM=;0;MrS)000000000000000000000000000000000000;>
\ No newline at end of file


More information about the Libreoffice-commits mailing list