Index: core/src/fxcrt/fx_xml_parser.cpp |
diff --git a/core/src/fxcrt/fx_xml_parser.cpp b/core/src/fxcrt/fx_xml_parser.cpp |
index 429bc38289ad8581d2f6c6b4d3bc18e9532181b1..2d3ff6631ec3508e6dca80986568909dabb14f72 100644 |
--- a/core/src/fxcrt/fx_xml_parser.cpp |
+++ b/core/src/fxcrt/fx_xml_parser.cpp |
@@ -6,6 +6,7 @@ |
#include "xml_int.h" |
+#include "core/include/fxcrt/fx_ext.h" |
#include "core/include/fxcrt/fx_xml.h" |
CXML_Parser::~CXML_Parser() { |
@@ -228,9 +229,8 @@ FX_DWORD CXML_Parser::GetCharRef() { |
iState = 10; |
break; |
} |
- if (g_FXCRT_XML_IsDigital(ch)) { |
- code = code * 10 + ch - '0'; |
- } |
+ if (g_FXCRT_XML_IsDigital(ch)) |
+ code = code * 10 + FXSYS_toDecimalDigit(ch); |
break; |
case 4: |
m_dwIndex++; |
@@ -242,7 +242,7 @@ FX_DWORD CXML_Parser::GetCharRef() { |
g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_HexChar; |
if (nHex) { |
if (nHex == FXCRTM_XML_CHARTYPE_HexDigital) { |
- code = (code << 4) + ch - '0'; |
+ code = (code << 4) + FXSYS_toDecimalDigit(ch); |
} else if (nHex == FXCRTM_XML_CHARTYPE_HexLowerLetter) { |
code = (code << 4) + ch - 87; |
} else { |