]> granicus.if.org Git - php/commitdiff
Fix bug #26443: No errror reporting for Errors in the domxml extension
authorRob Richards <rrichards@php.net>
Mon, 1 Dec 2003 16:19:15 +0000 (16:19 +0000)
committerRob Richards <rrichards@php.net>
Mon, 1 Dec 2003 16:19:15 +0000 (16:19 +0000)
ext/domxml/php_domxml.c

index 6827cb103ad25eca42a6615008b43a6b5c143793..217a86f43f85178c4ec62d99ee92183b87e61dba 100644 (file)
@@ -4015,18 +4015,18 @@ static xmlDocPtr domxml_document_parser(int mode, int loadtype, char *source, vo
        ctxt->loadsubset = resolve_externals;
        ctxt->replaceEntities = substitute_ent;
 
-       if (data != NULL) {
-               ctxt->_private = data;
-               errorCtxt.valid = &ctxt->vctxt;
-               errorCtxt.errors = data;
-               errorCtxt.parser = ctxt;   
-
-               ctxt->sax->error = domxml_error_ext;
-               ctxt->sax->warning = domxml_error_ext;
-               ctxt->vctxt.userData= (void *) &errorCtxt;
-               ctxt->vctxt.error    = (xmlValidityErrorFunc) domxml_error_validate;
-               ctxt->vctxt.warning  = (xmlValidityWarningFunc) domxml_error_validate;
-       }
+       /* Always set error handling as threaded libxml doesnt pick up the global handling 
+       set by xmlSetGenericErrorFunc for child threads */
+       ctxt->_private = data;
+       errorCtxt.valid = &ctxt->vctxt;
+       errorCtxt.errors = data;
+       errorCtxt.parser = ctxt;   
+
+       ctxt->sax->error = domxml_error_ext;
+       ctxt->sax->warning = domxml_error_ext;
+       ctxt->vctxt.userData= (void *) &errorCtxt;
+       ctxt->vctxt.error    = (xmlValidityErrorFunc) domxml_error_validate;
+       ctxt->vctxt.warning  = (xmlValidityWarningFunc) domxml_error_validate;
 
        xmlParseDocument(ctxt);