summaryrefslogtreecommitdiff
path: root/parser.c
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2003-02-04 15:07:21 +0000
committerDaniel Veillard <veillard@src.gnome.org>2003-02-04 15:07:21 +0000
commit8d589046b4403f8d3d0f708a895658c8123d3efa (patch)
tree4b213db66b96824af40c91690ae74b0796640773 /parser.c
parente5b110b3844d58ff4bea56bcb699144f6fbe0b83 (diff)
downloadlibxml2-8d589046b4403f8d3d0f708a895658c8123d3efa.tar.gz
fixing bug 105049 for validity checking of content within recursive
* parser.c: fixing bug 105049 for validity checking of content within recursive entities. Daniel
Diffstat (limited to 'parser.c')
-rw-r--r--parser.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/parser.c b/parser.c
index 3392c85e..565265cd 100644
--- a/parser.c
+++ b/parser.c
@@ -9949,9 +9949,6 @@ xmlParseBalancedChunkMemoryInternal(xmlParserCtxtPtr oldctxt,
ctxt->instate = XML_PARSER_CONTENT;
ctxt->depth = oldctxt->depth + 1;
- /*
- * Doing validity checking on chunk doesn't make sense
- */
ctxt->validate = 0;
ctxt->loadsubset = oldctxt->loadsubset;
@@ -9999,6 +9996,11 @@ xmlParseBalancedChunkMemoryInternal(xmlParserCtxtPtr oldctxt,
cur = ctxt->myDoc->children->children;
*lst = cur;
while (cur != NULL) {
+ if (oldctxt->validate && oldctxt->wellFormed &&
+ oldctxt->myDoc && oldctxt->myDoc->intSubset) {
+ oldctxt->valid &= xmlValidateElement(&oldctxt->vctxt,
+ oldctxt->myDoc, cur);
+ }
cur->parent = NULL;
cur = cur->next;
}