type XMLError. fix some comments
diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index 1bf4fda..0757666 100755
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -1072,7 +1072,7 @@
 }

 

 

-int XMLAttribute::QueryIntValue( int* value ) const

+XMLError XMLAttribute::QueryIntValue( int* value ) const

 {

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

         return XML_NO_ERROR;

@@ -1081,7 +1081,7 @@
 }

 

 

-int XMLAttribute::QueryUnsignedValue( unsigned int* value ) const

+XMLError XMLAttribute::QueryUnsignedValue( unsigned int* value ) const

 {

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

         return XML_NO_ERROR;

@@ -1090,7 +1090,7 @@
 }

 

 

-int XMLAttribute::QueryBoolValue( bool* value ) const

+XMLError XMLAttribute::QueryBoolValue( bool* value ) const

 {

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

         return XML_NO_ERROR;

@@ -1099,7 +1099,7 @@
 }

 

 

-int XMLAttribute::QueryFloatValue( float* value ) const

+XMLError XMLAttribute::QueryFloatValue( float* value ) const

 {

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

         return XML_NO_ERROR;

@@ -1108,7 +1108,7 @@
 }

 

 

-int XMLAttribute::QueryDoubleValue( double* value ) const

+XMLError XMLAttribute::QueryDoubleValue( double* value ) const

 {

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

         return XML_NO_ERROR;

@@ -1225,7 +1225,7 @@
 }

 

 

-int XMLElement::QueryIntText( int* _value ) const

+XMLError XMLElement::QueryIntText( int* _value ) const

 {

     if ( FirstChild() && FirstChild()->ToText() ) {

         const char* t = FirstChild()->ToText()->Value();

@@ -1238,7 +1238,7 @@
 }

 

 

-int XMLElement::QueryUnsignedText( unsigned* _value ) const

+XMLError XMLElement::QueryUnsignedText( unsigned* _value ) const

 {

     if ( FirstChild() && FirstChild()->ToText() ) {

         const char* t = FirstChild()->ToText()->Value();

@@ -1251,7 +1251,7 @@
 }

 

 

-int XMLElement::QueryBoolText( bool* _value ) const

+XMLError XMLElement::QueryBoolText( bool* _value ) const

 {

     if ( FirstChild() && FirstChild()->ToText() ) {

         const char* t = FirstChild()->ToText()->Value();

@@ -1264,7 +1264,7 @@
 }

 

 

-int XMLElement::QueryDoubleText( double* _value ) const

+XMLError XMLElement::QueryDoubleText( double* _value ) const

 {

     if ( FirstChild() && FirstChild()->ToText() ) {

         const char* t = FirstChild()->ToText()->Value();

@@ -1277,7 +1277,7 @@
 }

 

 

-int XMLElement::QueryFloatText( float* _value ) const

+XMLError XMLElement::QueryFloatText( float* _value ) const

 {

     if ( FirstChild() && FirstChild()->ToText() ) {

         const char* t = FirstChild()->ToText()->Value();

@@ -1484,7 +1484,7 @@
     XMLNode( 0 ),

     _writeBOM( false ),

     _processEntities( processEntities ),

-    _errorID( 0 ),

+    _errorID( XML_NO_ERROR ),

     _whitespace( whitespace ),

     _errorStr1( 0 ),

     _errorStr2( 0 ),

@@ -1569,7 +1569,7 @@
 }

 

 

-int XMLDocument::LoadFile( const char* filename )

+XMLError XMLDocument::LoadFile( const char* filename )

 {

     DeleteChildren();

     InitDocument();

@@ -1591,7 +1591,7 @@
 }

 

 

-int XMLDocument::LoadFile( FILE* fp )

+XMLError XMLDocument::LoadFile( FILE* fp )

 {

     DeleteChildren();

     InitDocument();

@@ -1626,7 +1626,7 @@
 }

 

 

-int XMLDocument::SaveFile( const char* filename, bool compact )

+XMLError XMLDocument::SaveFile( const char* filename, bool compact )

 {

     FILE* fp = 0;

 #if defined(_MSC_VER) && (_MSC_VER >= 1400 )

@@ -1645,7 +1645,7 @@
 }

 

 

-int XMLDocument::SaveFile( FILE* fp, bool compact )

+XMLError XMLDocument::SaveFile( FILE* fp, bool compact )

 {

     XMLPrinter stream( fp, compact );

     Print( &stream );

@@ -1653,7 +1653,7 @@
 }

 

 

-int XMLDocument::Parse( const char* p, size_t len )

+XMLError XMLDocument::Parse( const char* p, size_t len )

 {

     DeleteChildren();

     InitDocument();

@@ -1691,7 +1691,7 @@
 }

 

 

-void XMLDocument::SetError( int error, const char* str1, const char* str2 )

+void XMLDocument::SetError( XMLError error, const char* str1, const char* str2 )

 {

     _errorID = error;

     _errorStr1 = str1;

diff --git a/tinyxml2.h b/tinyxml2.h
index 071dbbe..b0387e9 100755
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -541,23 +541,29 @@
         return _document;

     }

 

+    /// Safely cast to an Element, or null.

     virtual XMLElement*		ToElement()		{

-        return 0;    ///< Safely cast to an Element, or null.

+        return 0;    

     }

+    /// Safely cast to Text, or null.

     virtual XMLText*		ToText()		{

-        return 0;    ///< Safely cast to Text, or null.

+        return 0;    

     }

+    /// Safely cast to a Comment, or null.

     virtual XMLComment*		ToComment()		{

-        return 0;    ///< Safely cast to a Comment, or null.

+        return 0;    

     }

+    /// Safely cast to a Document, or null.

     virtual XMLDocument*	ToDocument()	{

-        return 0;    ///< Safely cast to a Document, or null.

+        return 0;    

     }

+    /// Safely cast to a Declaration, or null.

     virtual XMLDeclaration*	ToDeclaration()	{

-        return 0;    ///< Safely cast to a Declaration, or null.

+        return 0;    

     }

+    /// Safely cast to an Unknown, or null.

     virtual XMLUnknown*		ToUnknown()		{

-        return 0;    ///< Safely cast to an Unknown, or null.

+        return 0;    

     }

 

     virtual const XMLElement*		ToElement() const		{

@@ -920,7 +926,7 @@
 };

 

 

-enum {

+enum XMLError {

     XML_NO_ERROR = 0,

     XML_SUCCESS = 0,

 

@@ -958,14 +964,17 @@
 {

     friend class XMLElement;

 public:

+    /// The name of the attribute.

     const char* Name() const {

-        return _name.GetStr();    ///< The name of the attribute.

+        return _name.GetStr();    

     }

+    /// The value of the attribute.

     const char* Value() const {

-        return _value.GetStr();    ///< The value of the attribute.

+        return _value.GetStr();    

     }

+    /// The next attribute in the list.

     const XMLAttribute* Next() const {

-        return _next;    ///< The next attribute in the list.

+        return _next;    

     }

 

     /** IntAttribute interprets the attribute as an integer, and returns the value.

@@ -1006,15 +1015,15 @@
     	in the provided paremeter. The function will return XML_NO_ERROR on success,

     	and XML_WRONG_ATTRIBUTE_TYPE if the conversion is not successful.

     */

-    int QueryIntValue( int* value ) const;

+    XMLError QueryIntValue( int* value ) const;

     /// See QueryIntAttribute

-    int QueryUnsignedValue( unsigned int* value ) const;

+    XMLError QueryUnsignedValue( unsigned int* value ) const;

     /// See QueryIntAttribute

-    int QueryBoolValue( bool* value ) const;

+    XMLError QueryBoolValue( bool* value ) const;

     /// See QueryIntAttribute

-    int QueryDoubleValue( double* value ) const;

+    XMLError QueryDoubleValue( double* value ) const;

     /// See QueryIntAttribute

-    int QueryFloatValue( float* value ) const;

+    XMLError QueryFloatValue( float* value ) const;

 

     /// Set the attribute to a string value.

     void SetAttribute( const char* value );

@@ -1147,7 +1156,7 @@
     	QueryIntAttribute( "foo", &value );		// if "foo" isn't found, value will still be 10

     	@endverbatim

     */

-    int QueryIntAttribute( const char* name, int* value ) const				{

+    XMLError QueryIntAttribute( const char* name, int* value ) const				{

         const XMLAttribute* a = FindAttribute( name );

         if ( !a ) {

             return XML_NO_ATTRIBUTE;

@@ -1155,7 +1164,7 @@
         return a->QueryIntValue( value );

     }

     /// See QueryIntAttribute()

-    int QueryUnsignedAttribute( const char* name, unsigned int* value ) const	{

+    XMLError QueryUnsignedAttribute( const char* name, unsigned int* value ) const	{

         const XMLAttribute* a = FindAttribute( name );

         if ( !a ) {

             return XML_NO_ATTRIBUTE;

@@ -1163,7 +1172,7 @@
         return a->QueryUnsignedValue( value );

     }

     /// See QueryIntAttribute()

-    int QueryBoolAttribute( const char* name, bool* value ) const				{

+    XMLError QueryBoolAttribute( const char* name, bool* value ) const				{

         const XMLAttribute* a = FindAttribute( name );

         if ( !a ) {

             return XML_NO_ATTRIBUTE;

@@ -1171,7 +1180,7 @@
         return a->QueryBoolValue( value );

     }

     /// See QueryIntAttribute()

-    int QueryDoubleAttribute( const char* name, double* value ) const			{

+    XMLError QueryDoubleAttribute( const char* name, double* value ) const			{

         const XMLAttribute* a = FindAttribute( name );

         if ( !a ) {

             return XML_NO_ATTRIBUTE;

@@ -1179,7 +1188,7 @@
         return a->QueryDoubleValue( value );

     }

     /// See QueryIntAttribute()

-    int QueryFloatAttribute( const char* name, float* value ) const			{

+    XMLError QueryFloatAttribute( const char* name, float* value ) const			{

         const XMLAttribute* a = FindAttribute( name );

         if ( !a ) {

             return XML_NO_ATTRIBUTE;

@@ -1281,15 +1290,15 @@
     			 to the requested type, and XML_NO_TEXT_NODE if there is no child text to query.

 

     */

-    int QueryIntText( int* _value ) const;

+    XMLError QueryIntText( int* _value ) const;

     /// See QueryIntText()

-    int QueryUnsignedText( unsigned* _value ) const;

+    XMLError QueryUnsignedText( unsigned* _value ) const;

     /// See QueryIntText()

-    int QueryBoolText( bool* _value ) const;

+    XMLError QueryBoolText( bool* _value ) const;

     /// See QueryIntText()

-    int QueryDoubleText( double* _value ) const;

+    XMLError QueryDoubleText( double* _value ) const;

     /// See QueryIntText()

-    int QueryFloatText( float* _value ) const;

+    XMLError QueryFloatText( float* _value ) const;

 

     // internal:

     enum {

@@ -1359,14 +1368,14 @@
     	specified, TinyXML will assume 'xml' points to a

     	null terminated string.

     */

-    int Parse( const char* xml, size_t nBytes=(size_t)(-1) );

+    XMLError Parse( const char* xml, size_t nBytes=(size_t)(-1) );

 

     /**

     	Load an XML file from disk.

     	Returns XML_NO_ERROR (0) on success, or

     	an errorID.

     */

-    int LoadFile( const char* filename );

+    XMLError LoadFile( const char* filename );

 

     /**

     	Load an XML file from disk. You are responsible

@@ -1375,14 +1384,14 @@
     	Returns XML_NO_ERROR (0) on success, or

     	an errorID.

     */

-    int LoadFile( std::FILE* );

+    XMLError LoadFile( std::FILE* );

 

     /**

     	Save the XML file to disk.

     	Returns XML_NO_ERROR (0) on success, or

     	an errorID.

     */

-    int SaveFile( const char* filename, bool compact = false );

+    XMLError SaveFile( const char* filename, bool compact = false );

 

     /**

     	Save the XML file to disk. You are responsible

@@ -1391,7 +1400,7 @@
     	Returns XML_NO_ERROR (0) on success, or

     	an errorID.

     */

-    int SaveFile( std::FILE* fp, bool compact = false );

+    XMLError SaveFile( std::FILE* fp, bool compact = false );

 

     bool ProcessEntities() const		{

         return _processEntities;

@@ -1484,14 +1493,14 @@
         node->_parent->DeleteChild( node );

     }

 

-    void SetError( int error, const char* str1, const char* str2 );

+    void SetError( XMLError error, const char* str1, const char* str2 );

 

     /// Return true if there was an error parsing the document.

     bool Error() const {

         return _errorID != XML_NO_ERROR;

     }

     /// Return the errorID.

-    int  ErrorID() const {

+    XMLError  ErrorID() const {

         return _errorID;

     }

     /// Return a possibly helpful diagnostic location or string.

@@ -1520,13 +1529,13 @@
     void operator=( const XMLDocument& );	// not supported

     void InitDocument();

 

-    bool _writeBOM;

-    bool _processEntities;

-    int  _errorID;

-    Whitespace _whitespace;

+    bool        _writeBOM;

+    bool        _processEntities;

+    XMLError    _errorID;

+    Whitespace  _whitespace;

     const char* _errorStr1;

     const char* _errorStr2;

-    char* _charBuffer;

+    char*       _charBuffer;

 

     MemPoolT< sizeof(XMLElement) >	 _elementPool;

     MemPoolT< sizeof(XMLAttribute) > _attributePool;

diff --git a/xmltest.cpp b/xmltest.cpp
index f6b2072..ae318ec 100644
--- a/xmltest.cpp
+++ b/xmltest.cpp
@@ -334,7 +334,7 @@
 

 		XMLDocument doc;

 		doc.Parse( error );

-		XMLTest( "Bad XML", doc.ErrorID(), (int)XML_ERROR_PARSING_ATTRIBUTE );

+		XMLTest( "Bad XML", doc.ErrorID(), XML_ERROR_PARSING_ATTRIBUTE );

 	}

 

 	{

@@ -633,7 +633,7 @@
 		XMLDocument doc;

 		doc.Parse( doctype );

 

-		XMLTest( "Parsing repeated attributes.", (int)XML_ERROR_PARSING_ATTRIBUTE, doc.ErrorID() );	// is an  error to tinyxml (didn't use to be, but caused issues)

+		XMLTest( "Parsing repeated attributes.", XML_ERROR_PARSING_ATTRIBUTE, doc.ErrorID() );	// is an  error to tinyxml (didn't use to be, but caused issues)

 		doc.PrintError();

 	}

 

@@ -651,7 +651,7 @@
 		const char* str = "    ";

 		XMLDocument doc;

 		doc.Parse( str );

-		XMLTest( "Empty document error", (int)XML_ERROR_EMPTY_DOCUMENT, doc.ErrorID() );

+		XMLTest( "Empty document error", XML_ERROR_EMPTY_DOCUMENT, doc.ErrorID() );

 	}

 

 	{

@@ -678,7 +678,7 @@
 		xml.Parse("<x> ");

 		XMLTest("Missing end tag with trailing whitespace", xml.Error(), true);

 		xml.Parse("<x></y>");

-		XMLTest("Mismatched tags", xml.ErrorID(), (int)XML_ERROR_MISMATCHED_ELEMENT);

+		XMLTest("Mismatched tags", xml.ErrorID(), XML_ERROR_MISMATCHED_ELEMENT);

 	}