summaryrefslogtreecommitdiff
path: root/svl
diff options
context:
space:
mode:
authorWang Lei <leiw@apache.org>2012-06-21 06:33:26 +0000
committerWang Lei <leiw@apache.org>2012-06-21 06:33:26 +0000
commit953b282dbb2552f89ec25455ec838f752abd6a2d (patch)
tree3f8ce7759f4bfeac8bd6fc59dff093c9d931a47c /svl
parent6ffd516efba88c99f20bc52c4524e8986547d1c2 (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
Diffstat (limited to 'svl')
-rw-r--r--svl/source/numbers/zformat.cxx16
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;
}