aboutsummaryrefslogtreecommitdiffstats
path: root/parser.c
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2004-11-04 17:45:11 +0000
committerDaniel Veillard <veillard@src.gnome.org>2004-11-04 17:45:11 +0000
commit38936066661217110b2d4a2704798de1baeca25e (patch)
tree6ced9c96b897f8a708b23a2d0869ec4934c00224 /parser.c
parent34099b403124601d9cd4bde0846a637bf8952cea (diff)
downloadandroid_external_libxml2-38936066661217110b2d4a2704798de1baeca25e.tar.gz
android_external_libxml2-38936066661217110b2d4a2704798de1baeca25e.tar.bz2
android_external_libxml2-38936066661217110b2d4a2704798de1baeca25e.zip
dohh ... stupid change killing xmlParseDoc() Daniel
* parser.c: dohh ... stupid change killing xmlParseDoc() Daniel
Diffstat (limited to 'parser.c')
-rw-r--r--parser.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/parser.c b/parser.c
index d8d36816..d39e76b3 100644
--- a/parser.c
+++ b/parser.c
@@ -11973,15 +11973,15 @@ xmlDocPtr
xmlSAXParseDoc(xmlSAXHandlerPtr sax, xmlChar *cur, int recovery) {
xmlDocPtr ret;
xmlParserCtxtPtr ctxt;
+ xmlSAXHandlerPtr oldsax = NULL;
- if ((cur == NULL) || (sax == NULL)) return(NULL);
+ if (cur == NULL) return(NULL);
ctxt = xmlCreateDocParserCtxt(cur);
if (ctxt == NULL) return(NULL);
if (sax != NULL) {
- if (ctxt->sax != NULL)
- xmlFree(ctxt->sax);
+ oldsax = ctxt->sax;
ctxt->sax = sax;
ctxt->userData = NULL;
}
@@ -11995,7 +11995,7 @@ xmlSAXParseDoc(xmlSAXHandlerPtr sax, xmlChar *cur, int recovery) {
ctxt->myDoc = NULL;
}
if (sax != NULL)
- ctxt->sax = NULL;
+ ctxt->sax = oldsax;
xmlFreeParserCtxt(ctxt);
return(ret);