summaryrefslogtreecommitdiff
path: root/ext/xmlreader/php_xmlreader.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-10-05 12:31:48 +0200
committerNikita Popov <nikita.ppv@gmail.com>2020-10-05 12:31:48 +0200
commitfaea5ab837ab6393c8821f85cf8abe2723593e8e (patch)
treedc1ab97ca126aad39ba88203fd8d9fdef7672169 /ext/xmlreader/php_xmlreader.c
parentd3cf5973282d30b1f9f08904e7aaf2675fb51f93 (diff)
downloadphp-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.c9
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
}
/* }}} */