diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index 5050064..b9c94e9 100755
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -608,17 +608,17 @@ void XMLUtil::ToStr( uint64_t v, char* buffer, int bufferSize )
TIXML_SNPRINTF(buffer, bufferSize, "%llu", (long long)v);
}
-bool XMLUtil::ToInt( const char* str, int* value )
+bool XMLUtil::ToInt(const char* str, int* value)
{
- if ( TIXML_SSCANF( str, IsPrefixHex(str) ? "%x" : "%d", value ) == 1 ) {
+ if (TIXML_SSCANF(str, IsPrefixHex(str) ? "%x" : "%d", value) == 1) {
return true;
}
return false;
}
-bool XMLUtil::ToUnsigned( const char* str, unsigned *value )
+bool XMLUtil::ToUnsigned(const char* str, unsigned* value)
{
- if ( TIXML_SSCANF( str, IsPrefixHex(str) ? "%x" : "%u", value ) == 1 ) {
+ if (TIXML_SSCANF(str, IsPrefixHex(str) ? "%x" : "%u", value) == 1) {
return true;
}
return false;
diff --git a/tinyxml2.h b/tinyxml2.h
index c577af4..3c702ec 100755
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -591,10 +591,8 @@ public:
}
inline static bool IsPrefixHex( const char* p) {
- while (p && *p != '\0' && !isdigit(*p)) {
- ++p;
- }
- return *p == '0' && ( *(p + 1) == 'x' || *(p + 1) == 'X');
+ p = SkipWhiteSpace(p, 0);
+ return p && *p == '0' && ( *(p + 1) == 'x' || *(p + 1) == 'X');
}
inline static bool StringEqual( const char* p, const char* q, int nChar=INT_MAX ) {
diff --git a/xmltest.cpp b/xmltest.cpp
index aaed91f..77cd6d7 100755
--- a/xmltest.cpp
+++ b/xmltest.cpp
@@ -1675,21 +1675,21 @@ int main( int argc, const char ** argv )
}
{
- //API:IntText(),UnsignedText(),Int64Text(), hex value test
- const char* xml = " -0x2020 0x2020 \
- +0x1234";
+ // hex value test
+ const char* xml = " 0x2020 0X2020 \
+ 0x1234";
XMLDocument doc;
doc.Parse(xml);
const XMLElement* pointElement = doc.RootElement();
int test1 = pointElement->FirstChildElement("IntText")->IntText();
- XMLTest("IntText() hex value test", -0x2020, test1);
+ XMLTest("IntText() hex value test", 0x2020, test1);
unsigned test2 = pointElement->FirstChildElement("UnsignedText")->UnsignedText();
XMLTest("UnsignedText() hex value test", static_cast(0x2020), test2);
int64_t test3 = pointElement->FirstChildElement("Int64Text")->Int64Text();
- XMLTest("Int64Text() hex value test", static_cast(+0x1234), test3);
+ XMLTest("Int64Text() hex value test", static_cast(0x1234), test3);
}
{