Line 45-47 (in CVS as of this writing) in tinyxmlparser.cpp (TiXmlBase::SkipWhiteSpace) is
if ( !p || !*p )
{
return 0;
which imo should be
if ( !p || !*p )
{
return p;
instead. Otherwise "return 0" causes the parser in TiXmlDocument::Parse(const char* p) to also return 0 if the supplied xml has \0 directly after the last xml node, which would indicate a parsing error. Hopefully no other code depends on TiXmlBase::SkipWhiteSpace returning 0 on end-of-string.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Line 45-47 (in CVS as of this writing) in tinyxmlparser.cpp (TiXmlBase::SkipWhiteSpace) is
if ( !p || !*p )
{
return 0;
which imo should be
if ( !p || !*p )
{
return p;
instead. Otherwise "return 0" causes the parser in TiXmlDocument::Parse(const char* p) to also return 0 if the supplied xml has \0 directly after the last xml node, which would indicate a parsing error. Hopefully no other code depends on TiXmlBase::SkipWhiteSpace returning 0 on end-of-string.