diff --git a/tinyxml2.cpp b/tinyxml2.cpp index b8555c3..b84b527 100755 --- a/tinyxml2.cpp +++ b/tinyxml2.cpp @@ -866,14 +866,16 @@ char* XMLNode::ParseDeep( char* p, StrPair* parentEnd ) // 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; + if ( endTag.Empty() ) { + if ( ele->ClosingType() == XMLElement::OPEN ) { + mismatch = true; + } } - else if ( !endTag.Empty() && ele->ClosingType() != XMLElement::OPEN ) { - mismatch = true; - } - else if ( !endTag.Empty() ) { - if ( !XMLUtil::StringEqual( endTag.GetStr(), node->Value() )) { + else { + if ( ele->ClosingType() != XMLElement::OPEN ) { + mismatch = true; + } + else if ( !XMLUtil::StringEqual( endTag.GetStr(), node->Value() ) ) { mismatch = true; } }