diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-10-05 12:31:48 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-10-05 12:31:48 +0200 |
commit | faea5ab837ab6393c8821f85cf8abe2723593e8e (patch) | |
tree | dc1ab97ca126aad39ba88203fd8d9fdef7672169 /ext/xmlreader/php_xmlreader.c | |
parent | d3cf5973282d30b1f9f08904e7aaf2675fb51f93 (diff) | |
download | php-git-faea5ab837ab6393c8821f85cf8abe2723593e8e.tar.gz |
Throw from XmlReader::expand() if DOM extension missing
Otherwise it is hard to uphold the arginfo contract for this
function -- we cannot simply mirror the zpp call, as the class
entry it is based on does not exist.
Diffstat (limited to 'ext/xmlreader/php_xmlreader.c')
-rw-r--r-- | ext/xmlreader/php_xmlreader.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/ext/xmlreader/php_xmlreader.c b/ext/xmlreader/php_xmlreader.c index 7b26195409..afc8cc80ba 100644 --- a/ext/xmlreader/php_xmlreader.c +++ b/ext/xmlreader/php_xmlreader.c @@ -1132,8 +1132,13 @@ PHP_METHOD(XMLReader, expand) RETURN_THROWS(); } #else - php_error(E_WARNING, "DOM support is not enabled"); - return; + zval *dummy; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|z!", &dummy) == FAILURE) { + RETURN_THROWS(); + } + + zend_throw_error(NULL, "XMLReader::expand() requires the DOM extension to be enabled"); + RETURN_THROWS(); #endif } /* }}} */ |