mirror of https://github.com/AxioDL/tinyxml2.git
clean up the scope and names of the error code.
This commit is contained in:
parent
cd8550c29c
commit
331596e83c
39
tinyxml2.cpp
39
tinyxml2.cpp
|
@ -476,10 +476,6 @@ bool XMLUtil::ToDouble( const char* str, double* value )
|
|||
return false;
|
||||
}
|
||||
|
||||
const char* XMLUtil::ToErrorName( const XMLError errorID )
|
||||
{
|
||||
return ErrorNames[errorID];
|
||||
}
|
||||
|
||||
char* XMLDocument::Identify( char* p, XMLNode** node )
|
||||
{
|
||||
|
@ -1581,6 +1577,32 @@ bool XMLElement::Accept( XMLVisitor* visitor ) const
|
|||
|
||||
|
||||
// --------- XMLDocument ----------- //
|
||||
|
||||
// Warning: List must match 'enum XMLError'
|
||||
const char* XMLDocument::_errorNames[XML_ERROR_COUNT] = {
|
||||
"XML_SUCCESS",
|
||||
"XML_NO_ATTRIBUTE",
|
||||
"XML_WRONG_ATTRIBUTE_TYPE",
|
||||
"XML_ERROR_FILE_NOT_FOUND",
|
||||
"XML_ERROR_FILE_COULD_NOT_BE_OPENED",
|
||||
"XML_ERROR_FILE_READ_ERROR",
|
||||
"XML_ERROR_ELEMENT_MISMATCH",
|
||||
"XML_ERROR_PARSING_ELEMENT",
|
||||
"XML_ERROR_PARSING_ATTRIBUTE",
|
||||
"XML_ERROR_IDENTIFYING_TAG",
|
||||
"XML_ERROR_PARSING_TEXT",
|
||||
"XML_ERROR_PARSING_CDATA",
|
||||
"XML_ERROR_PARSING_COMMENT",
|
||||
"XML_ERROR_PARSING_DECLARATION",
|
||||
"XML_ERROR_PARSING_UNKNOWN",
|
||||
"XML_ERROR_EMPTY_DOCUMENT",
|
||||
"XML_ERROR_MISMATCHED_ELEMENT",
|
||||
"XML_ERROR_PARSING",
|
||||
"XML_CAN_NOT_CONVERT_TEXT",
|
||||
"XML_NO_TEXT_NODE"
|
||||
};
|
||||
|
||||
|
||||
XMLDocument::XMLDocument( bool processEntities, Whitespace whitespace ) :
|
||||
XMLNode( 0 ),
|
||||
_writeBOM( false ),
|
||||
|
@ -1816,6 +1838,11 @@ void XMLDocument::SetError( XMLError error, const char* str1, const char* str2 )
|
|||
_errorStr2 = str2;
|
||||
}
|
||||
|
||||
const char* XMLDocument::ErrorName() const
|
||||
{
|
||||
TIXMLASSERT(_errorID >= 0 && _errorID < XML_ERROR_COUNT );
|
||||
return _errorNames[_errorID];
|
||||
}
|
||||
|
||||
void XMLDocument::PrintError() const
|
||||
{
|
||||
|
@ -1831,8 +1858,8 @@ void XMLDocument::PrintError() const
|
|||
TIXML_SNPRINTF( buf2, LEN, "%s", _errorStr2 );
|
||||
}
|
||||
|
||||
printf( "XMLDocument error id=%d str1=%s str2=%s\n",
|
||||
_errorID, buf1, buf2 );
|
||||
printf( "XMLDocument error id=%d '%s' str1=%s str2=%s\n",
|
||||
_errorID, ErrorName(), buf1, buf2 );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
36
tinyxml2.h
36
tinyxml2.h
|
@ -480,6 +480,7 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
// WARNING: must match XMLErrorNames[]
|
||||
enum XMLError {
|
||||
XML_SUCCESS = 0,
|
||||
XML_NO_ERROR = 0,
|
||||
|
@ -501,34 +502,12 @@ enum XMLError {
|
|||
XML_ERROR_MISMATCHED_ELEMENT,
|
||||
XML_ERROR_PARSING,
|
||||
XML_CAN_NOT_CONVERT_TEXT,
|
||||
XML_NO_TEXT_NODE
|
||||
XML_NO_TEXT_NODE,
|
||||
|
||||
XML_ERROR_COUNT
|
||||
};
|
||||
|
||||
|
||||
|
||||
static const char *ErrorNames[] = {
|
||||
"XML_SUCCESS",
|
||||
"XML_NO_ATTRIBUTE",
|
||||
"XML_WRONG_ATTRIBUTE_TYPE",
|
||||
"XML_ERROR_FILE_NOT_FOUND",
|
||||
"XML_ERROR_FILE_COULD_NOT_BE_OPENED",
|
||||
"XML_ERROR_FILE_READ_ERROR",
|
||||
"XML_ERROR_ELEMENT_MISMATCH",
|
||||
"XML_ERROR_PARSING_ELEMENT",
|
||||
"XML_ERROR_PARSING_ATTRIBUTE",
|
||||
"XML_ERROR_IDENTIFYING_TAG",
|
||||
"XML_ERROR_PARSING_TEXT",
|
||||
"XML_ERROR_PARSING_CDATA",
|
||||
"XML_ERROR_PARSING_COMMENT",
|
||||
"XML_ERROR_PARSING_DECLARATION",
|
||||
"XML_ERROR_PARSING_UNKNOWN",
|
||||
"XML_ERROR_EMPTY_DOCUMENT",
|
||||
"XML_ERROR_MISMATCHED_ELEMENT",
|
||||
"XML_ERROR_PARSING",
|
||||
"XML_CAN_NOT_CONVERT_TEXT",
|
||||
"XML_NO_TEXT_NODE"
|
||||
};
|
||||
|
||||
/*
|
||||
Utility functionality.
|
||||
*/
|
||||
|
@ -605,9 +584,6 @@ public:
|
|||
static bool ToBool( const char* str, bool* value );
|
||||
static bool ToFloat( const char* str, float* value );
|
||||
static bool ToDouble( const char* str, double* value );
|
||||
|
||||
// converts XMLError to strings
|
||||
static const char* ToErrorName( const XMLError errorID );
|
||||
};
|
||||
|
||||
|
||||
|
@ -1687,6 +1663,8 @@ public:
|
|||
XMLError ErrorID() const {
|
||||
return _errorID;
|
||||
}
|
||||
const char* ErrorName() const;
|
||||
|
||||
/// Return a possibly helpful diagnostic location or string.
|
||||
const char* GetErrorStr1() const {
|
||||
return _errorStr1;
|
||||
|
@ -1727,6 +1705,8 @@ private:
|
|||
MemPoolT< sizeof(XMLAttribute) > _attributePool;
|
||||
MemPoolT< sizeof(XMLText) > _textPool;
|
||||
MemPoolT< sizeof(XMLComment) > _commentPool;
|
||||
|
||||
static const char* _errorNames[XML_ERROR_COUNT];
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -1222,7 +1222,7 @@ int main( int argc, const char ** argv )
|
|||
XMLDocument doc;
|
||||
XMLError error = doc.LoadFile( "resources/empty.xml" );
|
||||
XMLTest( "Loading an empty file", XML_ERROR_EMPTY_DOCUMENT, error );
|
||||
XMLTest( "Loading an empty file and ErrorName as string", "XML_ERROR_EMPTY_DOCUMENT", XMLUtil::ToErrorName(error) );
|
||||
XMLTest( "Loading an empty file and ErrorName as string", "XML_ERROR_EMPTY_DOCUMENT", doc.ErrorName() );
|
||||
}
|
||||
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue