[Libreoffice-commits] core.git: svl/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Mon Aug 20 20:17:12 UTC 2018
svl/source/numbers/zformat.cxx | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
New commits:
commit b262e4e691d71defa5aa45e6bd647f112e1513c4
Author: Eike Rathke <erack at redhat.com>
AuthorDate: Mon Aug 20 20:03:43 2018 +0200
Commit: Eike Rathke <erack at redhat.com>
CommitDate: Mon Aug 20 22:16:51 2018 +0200
Avoid searching "[DBNum" if not inserted, tdf#73063 prep
Change-Id: I731f2813a2b29d3d7013d559c481f9b59fe7fa43
Reviewed-on: https://gerrit.libreoffice.org/59343
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Jenkins
diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx
index 7667e200fb31..e682b63cb161 100644
--- a/svl/source/numbers/zformat.cxx
+++ b/svl/source/numbers/zformat.cxx
@@ -5012,13 +5012,13 @@ static void lcl_SvNumberformat_AddLimitStringImpl( OUString& rStr,
rStr += "]";
}
-void lcl_insertLCID( OUStringBuffer& rFormatStr, sal_uInt32 nLCID, sal_Int32 nPosInsertLCID )
+void lcl_insertLCID( OUStringBuffer& rFormatStr, sal_uInt32 nLCID, sal_Int32 nPosInsertLCID, bool bDBNumInserted )
{
if ( nLCID == 0 )
return;
OUStringBuffer aLCIDString = OUString::number( nLCID , 16 ).toAsciiUpperCase();
// Search for only last DBNum which is the last element before insertion position
- if ( nPosInsertLCID >= 8
+ if ( bDBNumInserted && nPosInsertLCID >= 8
&& aLCIDString.getLength() > 4
&& rFormatStr.indexOf( "[DBNum", nPosInsertLCID-8) == nPosInsertLCID-8 )
{ // remove DBNumX code if long LCID
@@ -5142,6 +5142,7 @@ OUString SvNumberformat::GetMappedFormatstring( const NfKeywordTable& rKeywords,
}
SvNumberNatNum aNatNum = NumFor[n].GetNatNum();
+ bool bDBNumInserted = false;
if (aNatNum.IsComplete() && (aNatNum.GetDBNum() > 0 || nOriginalLang != LANGUAGE_DONTKNOW))
{ // GetFormatStringForExcel() may have changed language to en_US
if (aNatNum.GetLang() == LANGUAGE_ENGLISH_US && nOriginalLang != LANGUAGE_DONTKNOW)
@@ -5151,6 +5152,7 @@ OUString SvNumberformat::GetMappedFormatstring( const NfKeywordTable& rKeywords,
aPrefix += "[DBNum";
aPrefix += OUString::number( aNatNum.GetDBNum() );
aPrefix += "]";
+ bDBNumInserted = true;
}
}
@@ -5367,7 +5369,8 @@ OUString SvNumberformat::GetMappedFormatstring( const NfKeywordTable& rKeywords,
if ( nLanguageID == LANGUAGE_SYSTEM && nOriginalLang != LANGUAGE_DONTKNOW )
nLanguageID = nOriginalLang;
}
- lcl_insertLCID( aStr, nAlphabetID + nCalendarID + static_cast<sal_uInt16>(nLanguageID), nPosInsertLCID );
+ lcl_insertLCID( aStr, nAlphabetID + nCalendarID + static_cast<sal_uInt16>(nLanguageID), nPosInsertLCID,
+ bDBNumInserted);
}
for ( ; nSub<4 && bDefault[nSub]; ++nSub )
{ // append empty subformats
More information about the Libreoffice-commits
mailing list