mirror of https://github.com/AxioDL/tinyxml2.git
Merge pull request #254 from JayXon/onlyCheckElementPointerOnce
Only check ele pointer once
This commit is contained in:
commit
deccff765f
24
tinyxml2.cpp
24
tinyxml2.cpp
|
@ -860,19 +860,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;
|
||||
|
|
Loading…
Reference in New Issue