fix assertion - Assertion '_elementPool.CurrentAllocs() == _elementPool.Untracked()' failed.
This commit is contained in:
@@ -1077,7 +1077,7 @@ char* XMLNode::ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr )
|
|||||||
StrPair endTag;
|
StrPair endTag;
|
||||||
p = node->ParseDeep( p, &endTag, curLineNumPtr );
|
p = node->ParseDeep( p, &endTag, curLineNumPtr );
|
||||||
if ( !p ) {
|
if ( !p ) {
|
||||||
DeleteNode( node );
|
_document->DeleteNode( node );
|
||||||
if ( !_document->Error() ) {
|
if ( !_document->Error() ) {
|
||||||
_document->SetError( XML_ERROR_PARSING, initialLineNum, 0);
|
_document->SetError( XML_ERROR_PARSING, initialLineNum, 0);
|
||||||
}
|
}
|
||||||
@@ -1110,7 +1110,7 @@ char* XMLNode::ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr )
|
|||||||
}
|
}
|
||||||
if ( !wellLocated ) {
|
if ( !wellLocated ) {
|
||||||
_document->SetError( XML_ERROR_PARSING_DECLARATION, initialLineNum, "XMLDeclaration value=%s", decl->Value());
|
_document->SetError( XML_ERROR_PARSING_DECLARATION, initialLineNum, "XMLDeclaration value=%s", decl->Value());
|
||||||
DeleteNode( node );
|
_document->DeleteNode( node );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1145,7 +1145,7 @@ char* XMLNode::ParseDeep( char* p, StrPair* parentEndTag, int* curLineNumPtr )
|
|||||||
}
|
}
|
||||||
if ( mismatch ) {
|
if ( mismatch ) {
|
||||||
_document->SetError( XML_ERROR_MISMATCHED_ELEMENT, initialLineNum, "XMLElement name=%s", ele->Name());
|
_document->SetError( XML_ERROR_MISMATCHED_ELEMENT, initialLineNum, "XMLElement name=%s", ele->Name());
|
||||||
DeleteNode( node );
|
_document->DeleteNode( node );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2147,8 +2147,8 @@ int main( int argc, const char ** argv )
|
|||||||
// successful loads should clear the error
|
// successful loads should clear the error
|
||||||
XMLDocument doc;
|
XMLDocument doc;
|
||||||
XMLTest( "Should be no error initially", false, doc.Error() );
|
XMLTest( "Should be no error initially", false, doc.Error() );
|
||||||
doc.LoadFile( "resources/no-such-file.xml" );
|
doc.LoadFile( "resources/xmltest-5330.xml" );
|
||||||
XMLTest( "No such file - should fail", true, doc.Error() );
|
XMLTest( "parse errors occur - should fail", true, doc.Error() );
|
||||||
|
|
||||||
doc.LoadFile( "resources/dream.xml" );
|
doc.LoadFile( "resources/dream.xml" );
|
||||||
XMLTest( "Error should be cleared", false, doc.Error() );
|
XMLTest( "Error should be cleared", false, doc.Error() );
|
||||||
|
|||||||
Reference in New Issue
Block a user