From 1592b8864504cd56db654c10a27fd5d0c42027a1 Mon Sep 17 00:00:00 2001 From: Rob Richards Date: Mon, 1 Dec 2003 16:19:15 +0000 Subject: [PATCH] Fix bug #26443: No errror reporting for Errors in the domxml extension --- ext/domxml/php_domxml.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) 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); -- 2.40.0