fixed problem with memory leak on text nodes in DTD (bug 148965) with
* tree.c: fixed problem with memory leak on text nodes in DTD
(bug 148965) with patch provided by Darrell Kindred
diff --git a/tree.c b/tree.c
index 295066b..cbf0664 100644
--- a/tree.c
+++ b/tree.c
@@ -1020,12 +1020,15 @@
xmlNodePtr next, c = cur->children;
/*
- * Cleanup all the DTD comments they are not in the DTD
- * indexes.
+ * Cleanup all nodes which are not part of the specific lists
+ * of notations, elements, attributes and entities.
*/
while (c != NULL) {
next = c->next;
- if ((c->type == XML_COMMENT_NODE) || (c->type == XML_PI_NODE)) {
+ if ((c->type != XML_NOTATION_NODE) &&
+ (c->type != XML_ELEMENT_DECL) &&
+ (c->type != XML_ATTRIBUTE_DECL) &&
+ (c->type != XML_ENTITY_DECL)) {
xmlUnlinkNode(c);
xmlFreeNode(c);
}