UnsignedInt64 support
diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index 1c74279..0d27eab 100755
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -653,6 +653,16 @@
 }

 

 

+bool XMLUtil::ToUnsigned64(const char* str, uint64_t* value) {

+    unsigned long long v = 0;	// horrible syntax trick to make the compiler happy about %llu

+    if(TIXML_SSCANF(str, "%llu", &v) == 1) {

+        *value = (uint64_t)v;

+        return true;

+    }

+    return false;

+}

+

+

 char* XMLDocument::Identify( char* p, XMLNode** node )

 {

     TIXMLASSERT( node );

@@ -1414,6 +1424,15 @@
 }

 

 

+XMLError XMLAttribute::QueryUnsigned64Value(uint64_t* value) const

+{

+    if(XMLUtil::ToUnsigned64(Value(), value)) {

+        return XML_SUCCESS;

+    }

+    return XML_WRONG_ATTRIBUTE_TYPE;

+}

+

+

 XMLError XMLAttribute::QueryBoolValue( bool* value ) const

 {

     if ( XMLUtil::ToBool( Value(), value )) {