diff -r f54396da08ea -r 9dc4dfa4b04d components/libxml2/patches/bug684774.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/libxml2/patches/bug684774.patch Thu Dec 20 04:53:01 2012 -0800 @@ -0,0 +1,52 @@ +See: + +http://git.gnome.org/browse/libxml2/commit/?id=6c91aa384f48ff6d406553a6dd47fd556c1ef2e6 + +From 6c91aa384f48ff6d406553a6dd47fd556c1ef2e6 Mon Sep 17 00:00:00 2001 +From: Daniel Veillard +Date: Thu, 25 Oct 2012 07:33:59 +0000 +Subject: Fix a regression in 2.9.0 breaking validation while streaming + +https://bugzilla.gnome.org/show_bug.cgi?id=684774 +with help from Kjell Ahlstedt +--- +diff --git a/SAX2.c b/SAX2.c +index a24abc8..3eea39a 100644 +--- a/SAX2.c ++++ b/SAX2.c +@@ -2202,7 +2202,7 @@ xmlSAX2StartElementNs(void *ctx, + (ctxt->myDoc->intSubset->elements == NULL) && + (ctxt->myDoc->intSubset->attributes == NULL) && + (ctxt->myDoc->intSubset->entities == NULL)))) { +- xmlErrValid(ctxt, XML_ERR_NO_DTD, ++ xmlErrValid(ctxt, XML_DTD_NO_DTD, + "Validation failed: no DTD found !", NULL, NULL); + ctxt->validate = 0; + } +diff --git a/parser.c b/parser.c +index 28b0d80..19f1217 100644 +--- a/parser.c ++++ b/parser.c +@@ -11633,7 +11633,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) { + "PP: Parsing internal subset\n"); + #endif + ctxt->inSubset = 1; +- ctxt->progressive = 1; ++ ctxt->progressive = 0; + ctxt->checkIndex = 0; + xmlParseDocTypeDecl(ctxt); + if (RAW == '[') { +@@ -12219,7 +12219,10 @@ xmldecl_done: + } + ctxt->instate = XML_PARSER_EOF; + } +- return((xmlParserErrors) ctxt->errNo); ++ if (ctxt->wellFormed == 0) ++ return((xmlParserErrors) ctxt->errNo); ++ else ++ return(0); + } + + /************************************************************************ +-- +cgit v0.9.0.2