Only check ele pointer once

This commit is contained in:
JayXon 2014-12-26 01:00:24 -05:00
parent 69242c4b9b
commit e4bf6e360d
1 changed files with 12 additions and 12 deletions

View File

@ -862,19 +862,19 @@ char* XMLNode::ParseDeep( char* p, StrPair* parentEnd )
}
XMLElement* ele = node->ToElement();
// We read the end tag. Return it to the parent.
if ( ele && ele->ClosingType() == XMLElement::CLOSING ) {
if ( parentEnd ) {
ele->_value.TransferTo( parentEnd );
}
node->_memPool->SetTracked(); // created and then immediately deleted.
DeleteNode( node );
return p;
}
// Handle an end tag returned to this level.
// And handle a bunch of annoying errors.
if ( ele ) {
// We read the end tag. Return it to the parent.
if ( ele->ClosingType() == XMLElement::CLOSING ) {
if ( parentEnd ) {
ele->_value.TransferTo( parentEnd );
}
node->_memPool->SetTracked(); // created and then immediately deleted.
DeleteNode( node );
return p;
}
// Handle an end tag returned to this level.
// And handle a bunch of annoying errors.
bool mismatch = false;
if ( endTag.Empty() && ele->ClosingType() == XMLElement::OPEN ) {
mismatch = true;