From: Rob Richards Date: Mon, 1 Dec 2003 16:19:15 +0000 (+0000) Subject: Fix bug #26443: No errror reporting for Errors in the domxml extension X-Git-Tag: php-4.3.5RC1~130 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1592b8864504cd56db654c10a27fd5d0c42027a1;p=php Fix bug #26443: No errror reporting for Errors in the domxml extension --- diff --git a/ext/domxml/php_domxml.c b/ext/domxml/php_domxml.c index 6827cb103a..217a86f43f 100644 --- a/ext/domxml/php_domxml.c +++ b/ext/domxml/php_domxml.c @@ -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);