Merge branch 'pull-request/2344' into PHP-7.0

* pull-request/2344:
  Fixed bug #74004 LIBXML_NOWARNING (etc) ignored by DOMDocument::loadHTML
This commit is contained in:
Joe Watkins 2017-02-03 06:10:19 +00:00
commit 6988d070ea
No known key found for this signature in database
GPG key ID: F9BA0ADA31CBD89E
3 changed files with 23 additions and 4 deletions

4
NEWS
View file

@ -8,6 +8,10 @@ PHP NEWS
. Fixed bug #73998 (array_key_exists fails on arrays created by . Fixed bug #73998 (array_key_exists fails on arrays created by
get_object_vars). (mhagstrand) get_object_vars). (mhagstrand)
- DOM:
. Fixed bug #74004 (LIBXML_NOWARNING (etc) ignored by DOMDocument::loadHTML).
(somedaysummer)
- GD: - GD:
. Fixed bug #74031 (ReflectionFunction for imagepng is missing last two . Fixed bug #74031 (ReflectionFunction for imagepng is missing last two
parameters). (finwe) parameters). (finwe)

View file

@ -2038,16 +2038,16 @@ static void dom_load_html(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{ */
RETURN_FALSE; RETURN_FALSE;
} }
if (options) {
htmlCtxtUseOptions(ctxt, (int)options);
}
ctxt->vctxt.error = php_libxml_ctx_error; ctxt->vctxt.error = php_libxml_ctx_error;
ctxt->vctxt.warning = php_libxml_ctx_warning; ctxt->vctxt.warning = php_libxml_ctx_warning;
if (ctxt->sax != NULL) { if (ctxt->sax != NULL) {
ctxt->sax->error = php_libxml_ctx_error; ctxt->sax->error = php_libxml_ctx_error;
ctxt->sax->warning = php_libxml_ctx_warning; ctxt->sax->warning = php_libxml_ctx_warning;
} }
if (options) {
htmlCtxtUseOptions(ctxt, (int)options);
}
htmlParseDocument(ctxt); htmlParseDocument(ctxt);
newdoc = ctxt->myDoc; newdoc = ctxt->myDoc;
htmlFreeParserCtxt(ctxt); htmlFreeParserCtxt(ctxt);

View file

@ -0,0 +1,15 @@
--TEST--
Bug #74004 (DOMDocument->loadHTML and ->loadHTMLFile do not heed LIBXML_NOWARNING and LIBXML_NOERROR options)
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$doc=new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHTML("<tag-throw-warning></tag-throw-warning>",LIBXML_NOWARNING|LIBXML_NOERROR);
print count(libxml_get_errors());
?>
--EXPECT--
0