another round on the element parsing. Test case passes.
diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index 73a4143..df68f3c 100644
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -629,6 +629,9 @@
 		if ( !p ) {

 			DELETE_NODE( node );

 			node = 0;

+			if ( !document->Error() ) {

+				document->SetError( ERROR_PARSING, 0, 0 );

+			}

 			break;

 		}

 

@@ -1073,7 +1076,6 @@
 		return p;

 

 	p = XMLNode::ParseDeep( p, strPair );

-	// FIXME: proces end tage here??

 	return p;

 }

 

diff --git a/tinyxml2.h b/tinyxml2.h
index 9f63514..8136d82 100644
--- a/tinyxml2.h
+++ b/tinyxml2.h
@@ -588,7 +588,8 @@
 	ERROR_PARSING_DECLARATION,

 	ERROR_PARSING_UNKNOWN,

 	ERROR_EMPTY_DOCUMENT,

-	ERROR_MISMATCHED_ELEMENT

+	ERROR_MISMATCHED_ELEMENT,

+	ERROR_PARSING

 };