diff options
author | Joe Watkins <krakjoe@php.net> | 2017-02-03 06:12:20 +0000 |
---|---|---|
committer | Joe Watkins <krakjoe@php.net> | 2017-02-03 06:12:42 +0000 |
commit | 611952cd9845bd0e046fc7bd24c17a7341b96f7d (patch) | |
tree | c22b1eb0878967ce5a82e2cdc761746af6a50b61 | |
parent | e9209e15a21e563defe02e0ce71f13bfa0dfbedd (diff) | |
parent | 6988d070ea8c7d44452d8c98e594d65ea722a1d8 (diff) | |
download | php-git-611952cd9845bd0e046fc7bd24c17a7341b96f7d.tar.gz |
Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
Fixed bug #74004 LIBXML_NOWARNING (etc) ignored by DOMDocument::loadHTML
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | ext/dom/document.c | 8 | ||||
-rw-r--r-- | ext/dom/tests/bug74004.phpt | 15 |
3 files changed, 23 insertions, 4 deletions
@@ -8,6 +8,10 @@ PHP NEWS . Fixed bug #73998 (array_key_exists fails on arrays created by get_object_vars). (mhagstrand) +- DOM: + . Fixed bug #74004 (LIBXML_NOWARNING (etc) ignored by DOMDocument::loadHTML). + (somedaysummer) + - GD: . Fixed bug #74031 (ReflectionFunction for imagepng is missing last two parameters). (finwe) diff --git a/ext/dom/document.c b/ext/dom/document.c index 18d652064e..cac6830077 100644 --- a/ext/dom/document.c +++ b/ext/dom/document.c @@ -2038,16 +2038,16 @@ static void dom_load_html(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{ */ RETURN_FALSE; } - if (options) { - htmlCtxtUseOptions(ctxt, (int)options); - } - + ctxt->vctxt.error = php_libxml_ctx_error; ctxt->vctxt.warning = php_libxml_ctx_warning; if (ctxt->sax != NULL) { ctxt->sax->error = php_libxml_ctx_error; ctxt->sax->warning = php_libxml_ctx_warning; } + if (options) { + htmlCtxtUseOptions(ctxt, (int)options); + } htmlParseDocument(ctxt); newdoc = ctxt->myDoc; htmlFreeParserCtxt(ctxt); diff --git a/ext/dom/tests/bug74004.phpt b/ext/dom/tests/bug74004.phpt new file mode 100644 index 0000000000..853dfa5b09 --- /dev/null +++ b/ext/dom/tests/bug74004.phpt @@ -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 |