diff options
author | Wang Lei <leiw@apache.org> | 2012-06-21 06:33:26 +0000 |
---|---|---|
committer | Wang Lei <leiw@apache.org> | 2012-06-21 06:33:26 +0000 |
commit | 953b282dbb2552f89ec25455ec838f752abd6a2d (patch) | |
tree | 3f8ce7759f4bfeac8bd6fc59dff093c9d931a47c /svl | |
parent | 6ffd516efba88c99f20bc52c4524e8986547d1c2 (diff) |
#i119943 - Underline "_" can not work with ";" in format code, the semicolon will always be regarded as separator
Patch by: Zhang Lu
Review by: Wang Lei
Notes
Notes:
merged as: c26bae0b168acaa5702be43a9748457f5d0eafa0
Diffstat (limited to 'svl')
-rw-r--r-- | svl/source/numbers/zformat.cxx | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx index f54c15c28b52..db59b1ceab35 100644 --- a/svl/source/numbers/zformat.cxx +++ b/svl/source/numbers/zformat.cxx @@ -1134,6 +1134,18 @@ LanguageType SvNumberformat::ImpGetLanguageType( const String& rString, LANGUAGE_DONTKNOW; } +sal_Bool IsSingleSymbol(String& rString, xub_StrLen nPos){ + sal_Bool ret = sal_False; + while(nPos > 0){ + if(rString.GetChar(nPos) == '*' || rString.GetChar(nPos) == '\\' || rString.GetChar(nPos) == '_'){ + ret = !ret; + nPos--; + } + else + return ret; + } + return ret; +} short SvNumberformat::ImpNextSymbol(String& rString, xub_StrLen& nPos, @@ -1285,8 +1297,10 @@ short SvNumberformat::ImpNextSymbol(String& rString, break; case SsGetString: { - if (cToken == ';') + if (cToken == ';' && !IsSingleSymbol(rString, nPos-2)) + { eState = SsStop; + } else sSymbol += cToken; } |