summaryrefslogtreecommitdiff
path: root/ext/dom/node.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/dom/node.c')
-rw-r--r--ext/dom/node.c256
1 files changed, 53 insertions, 203 deletions
diff --git a/ext/dom/node.c b/ext/dom/node.c
index 609d1a6116..4caf85c36f 100644
--- a/ext/dom/node.c
+++ b/ext/dom/node.c
@@ -1,7 +1,5 @@
/*
+----------------------------------------------------------------------+
- | PHP Version 7 |
- +----------------------------------------------------------------------+
| Copyright (c) The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
@@ -24,104 +22,7 @@
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-
-/* {{{ arginfo */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_insert_before, 0, 0, 1)
- ZEND_ARG_OBJ_INFO(0, newChild, DOMNode, 0)
- ZEND_ARG_OBJ_INFO(0, refChild, DOMNode, 1)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_replace_child, 0, 0, 2)
- ZEND_ARG_OBJ_INFO(0, newChild, DOMNode, 0)
- ZEND_ARG_OBJ_INFO(0, oldChild, DOMNode, 0)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_remove_child, 0, 0, 1)
- ZEND_ARG_OBJ_INFO(0, oldChild, DOMNode, 0)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_append_child, 0, 0, 1)
- ZEND_ARG_OBJ_INFO(0, newChild, DOMNode, 0)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_has_child_nodes, 0, 0, 0)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_clone_node, 0, 0, 0)
- ZEND_ARG_INFO(0, deep)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_normalize, 0, 0, 0)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_is_supported, 0, 0, 2)
- ZEND_ARG_INFO(0, feature)
- ZEND_ARG_INFO(0, version)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_has_attributes, 0, 0, 0)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_compare_document_position, 0, 0, 1)
- ZEND_ARG_OBJ_INFO(0, other, DOMNode, 0)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_is_same_node, 0, 0, 1)
- ZEND_ARG_OBJ_INFO(0, other, DOMNode, 0)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_lookup_prefix, 0, 0, 1)
- ZEND_ARG_INFO(0, namespaceURI)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_is_default_namespace, 0, 0, 1)
- ZEND_ARG_INFO(0, namespaceURI)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_lookup_namespace_uri, 0, 0, 1)
- ZEND_ARG_INFO(0, prefix)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_is_equal_node, 0, 0, 1)
- ZEND_ARG_OBJ_INFO(0, arg, DOMNode, 0)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_get_feature, 0, 0, 2)
- ZEND_ARG_INFO(0, feature)
- ZEND_ARG_INFO(0, version)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_set_user_data, 0, 0, 3)
- ZEND_ARG_INFO(0, key)
- ZEND_ARG_INFO(0, data)
- ZEND_ARG_INFO(0, handler)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_get_user_data, 0, 0, 1)
- ZEND_ARG_INFO(0, key)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_getNodePath, 0, 0, 0)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_getLineNo, 0, 0, 0)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_C14N, 0, 0, 0)
- ZEND_ARG_INFO(0, exclusive)
- ZEND_ARG_INFO(0, with_comments)
- ZEND_ARG_ARRAY_INFO(0, xpath, 1)
- ZEND_ARG_ARRAY_INFO(0, ns_prefixes, 1)
-ZEND_END_ARG_INFO();
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_C14NFile, 0, 0, 1)
- ZEND_ARG_INFO(0, uri)
- ZEND_ARG_INFO(0, exclusive)
- ZEND_ARG_INFO(0, with_comments)
- ZEND_ARG_ARRAY_INFO(0, xpath, 1)
- ZEND_ARG_ARRAY_INFO(0, ns_prefixes, 1)
-ZEND_END_ARG_INFO();
-/* }}} */
+#include "dom_arginfo.h"
/*
* class DOMNode
@@ -131,28 +32,23 @@ ZEND_END_ARG_INFO();
*/
const zend_function_entry php_dom_node_class_functions[] = { /* {{{ */
- PHP_FALIAS(insertBefore, dom_node_insert_before, arginfo_dom_node_insert_before)
- PHP_FALIAS(replaceChild, dom_node_replace_child, arginfo_dom_node_replace_child)
- PHP_FALIAS(removeChild, dom_node_remove_child, arginfo_dom_node_remove_child)
- PHP_FALIAS(appendChild, dom_node_append_child, arginfo_dom_node_append_child)
- PHP_FALIAS(hasChildNodes, dom_node_has_child_nodes, arginfo_dom_node_has_child_nodes)
- PHP_FALIAS(cloneNode, dom_node_clone_node, arginfo_dom_node_clone_node)
- PHP_FALIAS(normalize, dom_node_normalize, arginfo_dom_node_normalize)
- PHP_FALIAS(isSupported, dom_node_is_supported, arginfo_dom_node_is_supported)
- PHP_FALIAS(hasAttributes, dom_node_has_attributes, arginfo_dom_node_has_attributes)
- PHP_FALIAS(compareDocumentPosition, dom_node_compare_document_position, arginfo_dom_node_compare_document_position)
- PHP_FALIAS(isSameNode, dom_node_is_same_node, arginfo_dom_node_is_same_node)
- PHP_FALIAS(lookupPrefix, dom_node_lookup_prefix, arginfo_dom_node_lookup_prefix)
- PHP_FALIAS(isDefaultNamespace, dom_node_is_default_namespace, arginfo_dom_node_is_default_namespace)
- PHP_FALIAS(lookupNamespaceUri, dom_node_lookup_namespace_uri, arginfo_dom_node_lookup_namespace_uri)
- PHP_FALIAS(isEqualNode, dom_node_is_equal_node, arginfo_dom_node_is_equal_node)
- PHP_FALIAS(getFeature, dom_node_get_feature, arginfo_dom_node_get_feature)
- PHP_FALIAS(setUserData, dom_node_set_user_data, arginfo_dom_node_set_user_data)
- PHP_FALIAS(getUserData, dom_node_get_user_data, arginfo_dom_node_get_user_data)
- PHP_ME(domnode, getNodePath, arginfo_dom_node_getNodePath, ZEND_ACC_PUBLIC)
- PHP_ME(domnode, getLineNo, arginfo_dom_node_getLineNo, ZEND_ACC_PUBLIC)
- PHP_ME(domnode, C14N, arginfo_dom_node_C14N, ZEND_ACC_PUBLIC)
- PHP_ME(domnode, C14NFile, arginfo_dom_node_C14NFile, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, insertBefore, arginfo_class_DOMNode_insertBefore, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, replaceChild, arginfo_class_DOMNode_replaceChild, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, removeChild, arginfo_class_DOMNode_removeChild, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, appendChild, arginfo_class_DOMNode_appendChild, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, hasChildNodes, arginfo_class_DOMNode_hasChildNodes, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, cloneNode, arginfo_class_DOMNode_cloneNode, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, normalize, arginfo_class_DOMNode_normalize, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, isSupported, arginfo_class_DOMNode_isSupported, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, hasAttributes, arginfo_class_DOMNode_hasAttributes, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, isSameNode, arginfo_class_DOMNode_isSameNode, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, lookupPrefix, arginfo_class_DOMNode_lookupPrefix, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, isDefaultNamespace, arginfo_class_DOMNode_isDefaultNamespace, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, lookupNamespaceURI, arginfo_class_DOMNode_lookupNamespaceUri, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, getNodePath, arginfo_class_DOMNode_getNodePath, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, getLineNo, arginfo_class_DOMNode_getLineNo, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, C14N, arginfo_class_DOMNode_C14N, ZEND_ACC_PUBLIC)
+ PHP_ME(domnode, C14NFile, arginfo_class_DOMNode_C14NFile, ZEND_ACC_PUBLIC)
PHP_FE_END
};
/* }}} */
@@ -933,7 +829,7 @@ static xmlNodePtr _php_dom_insert_fragment(xmlNodePtr nodep, xmlNodePtr prevsib,
URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-952280727
Since:
*/
-PHP_FUNCTION(dom_node_insert_before)
+PHP_METHOD(domnode, insertBefore)
{
zval *id, *node, *ref = NULL;
xmlNodePtr child, new_child, parentp, refp;
@@ -942,7 +838,7 @@ PHP_FUNCTION(dom_node_insert_before)
id = ZEND_THIS;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "O|O!", &node, dom_node_class_entry, &ref, dom_node_class_entry) == FAILURE) {
- return;
+ RETURN_THROWS();
}
DOM_GET_OBJ(parentp, id, xmlNodePtr, intern);
@@ -1095,7 +991,7 @@ PHP_FUNCTION(dom_node_insert_before)
URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-785887307
Since:
*/
-PHP_FUNCTION(dom_node_replace_child)
+PHP_METHOD(domnode, replaceChild)
{
zval *id, *newnode, *oldnode;
xmlNodePtr children, newchild, oldchild, nodep;
@@ -1106,7 +1002,7 @@ PHP_FUNCTION(dom_node_replace_child)
id = ZEND_THIS;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "OO", &newnode, dom_node_class_entry, &oldnode, dom_node_class_entry) == FAILURE) {
- return;
+ RETURN_THROWS();
}
DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
@@ -1184,7 +1080,7 @@ PHP_FUNCTION(dom_node_replace_child)
URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-1734834066
Since:
*/
-PHP_FUNCTION(dom_node_remove_child)
+PHP_METHOD(domnode, removeChild)
{
zval *id, *node;
xmlNodePtr children, child, nodep;
@@ -1193,7 +1089,7 @@ PHP_FUNCTION(dom_node_remove_child)
id = ZEND_THIS;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "O", &node, dom_node_class_entry) == FAILURE) {
- return;
+ RETURN_THROWS();
}
DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
@@ -1228,7 +1124,7 @@ PHP_FUNCTION(dom_node_remove_child)
}
php_dom_throw_error(NOT_FOUND_ERR, stricterror);
- RETURN_FALSE
+ RETURN_FALSE;
}
/* }}} end dom_node_remove_child */
@@ -1236,7 +1132,7 @@ PHP_FUNCTION(dom_node_remove_child)
URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-184E7107
Since:
*/
-PHP_FUNCTION(dom_node_append_child)
+PHP_METHOD(domnode, appendChild)
{
zval *id, *node;
xmlNodePtr child, nodep, new_child = NULL;
@@ -1245,7 +1141,7 @@ PHP_FUNCTION(dom_node_append_child)
id = ZEND_THIS;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "O", &node, dom_node_class_entry) == FAILURE) {
- return;
+ RETURN_THROWS();
}
DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
@@ -1338,7 +1234,7 @@ PHP_FUNCTION(dom_node_append_child)
URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-810594187
Since:
*/
-PHP_FUNCTION(dom_node_has_child_nodes)
+PHP_METHOD(domnode, hasChildNodes)
{
zval *id;
xmlNode *nodep;
@@ -1346,7 +1242,7 @@ PHP_FUNCTION(dom_node_has_child_nodes)
id = ZEND_THIS;
if (zend_parse_parameters_none() == FAILURE) {
- return;
+ RETURN_THROWS();
}
DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
@@ -1367,7 +1263,7 @@ PHP_FUNCTION(dom_node_has_child_nodes)
URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-3A0ED0A4
Since:
*/
-PHP_FUNCTION(dom_node_clone_node)
+PHP_METHOD(domnode, cloneNode)
{
zval *id;
xmlNode *n, *node;
@@ -1377,7 +1273,7 @@ PHP_FUNCTION(dom_node_clone_node)
id = ZEND_THIS;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "|b", &recursive) == FAILURE) {
- return;
+ RETURN_THROWS();
}
DOM_GET_OBJ(n, id, xmlNodePtr, intern);
@@ -1429,7 +1325,7 @@ PHP_FUNCTION(dom_node_clone_node)
URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-normalize
Since:
*/
-PHP_FUNCTION(dom_node_normalize)
+PHP_METHOD(domnode, normalize)
{
zval *id;
xmlNode *nodep;
@@ -1437,7 +1333,7 @@ PHP_FUNCTION(dom_node_normalize)
id = ZEND_THIS;
if (zend_parse_parameters_none() == FAILURE) {
- return;
+ RETURN_THROWS();
}
DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
@@ -1451,13 +1347,13 @@ PHP_FUNCTION(dom_node_normalize)
URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-Level-2-Core-Node-supports
Since: DOM Level 2
*/
-PHP_FUNCTION(dom_node_is_supported)
+PHP_METHOD(domnode, isSupported)
{
size_t feature_len, version_len;
char *feature, *version;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "ss", &feature, &feature_len, &version, &version_len) == FAILURE) {
- return;
+ RETURN_THROWS();
}
if (dom_has_feature(feature, version)) {
@@ -1472,7 +1368,7 @@ PHP_FUNCTION(dom_node_is_supported)
URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-NodeHasAttrs
Since: DOM Level 2
*/
-PHP_FUNCTION(dom_node_has_attributes)
+PHP_METHOD(domnode, hasAttributes)
{
zval *id;
xmlNode *nodep;
@@ -1480,7 +1376,7 @@ PHP_FUNCTION(dom_node_has_attributes)
id = ZEND_THIS;
if (zend_parse_parameters_none() == FAILURE) {
- return;
+ RETURN_THROWS();
}
DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
@@ -1496,21 +1392,11 @@ PHP_FUNCTION(dom_node_has_attributes)
}
/* }}} end dom_node_has_attributes */
-/* {{{ proto short dom_node_compare_document_position(DomNode other);
-URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Node3-compareDocumentPosition
-Since: DOM Level 3
-*/
-PHP_FUNCTION(dom_node_compare_document_position)
-{
- DOM_NOT_IMPLEMENTED();
-}
-/* }}} end dom_node_compare_document_position */
-
/* {{{ proto bool dom_node_is_same_node(DomNode other);
URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Node3-isSameNode
Since: DOM Level 3
*/
-PHP_FUNCTION(dom_node_is_same_node)
+PHP_METHOD(domnode, isSameNode)
{
zval *id, *node;
xmlNodePtr nodeotherp, nodep;
@@ -1518,7 +1404,7 @@ PHP_FUNCTION(dom_node_is_same_node)
id = ZEND_THIS;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "O", &node, dom_node_class_entry) == FAILURE) {
- return;
+ RETURN_THROWS();
}
DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
@@ -1537,7 +1423,7 @@ PHP_FUNCTION(dom_node_is_same_node)
URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Node3-lookupNamespacePrefix
Since: DOM Level 3
*/
-PHP_FUNCTION(dom_node_lookup_prefix)
+PHP_METHOD(domnode, lookupPrefix)
{
zval *id;
xmlNodePtr nodep, lookupp = NULL;
@@ -1548,7 +1434,7 @@ PHP_FUNCTION(dom_node_lookup_prefix)
id = ZEND_THIS;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", &uri, &uri_len) == FAILURE) {
- return;
+ RETURN_THROWS();
}
DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
@@ -1589,7 +1475,7 @@ PHP_FUNCTION(dom_node_lookup_prefix)
URL: http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isDefaultNamespace
Since: DOM Level 3
*/
-PHP_FUNCTION(dom_node_is_default_namespace)
+PHP_METHOD(domnode, isDefaultNamespace)
{
zval *id;
xmlNodePtr nodep;
@@ -1600,7 +1486,7 @@ PHP_FUNCTION(dom_node_is_default_namespace)
id = ZEND_THIS;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", &uri, &uri_len) == FAILURE) {
- return;
+ RETURN_THROWS();
}
DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
@@ -1623,7 +1509,7 @@ PHP_FUNCTION(dom_node_is_default_namespace)
URL: http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespaceURI
Since: DOM Level 3
*/
-PHP_FUNCTION(dom_node_lookup_namespace_uri)
+PHP_METHOD(domnode, lookupNamespaceURI)
{
zval *id;
xmlNodePtr nodep;
@@ -1634,7 +1520,7 @@ PHP_FUNCTION(dom_node_lookup_namespace_uri)
id = ZEND_THIS;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "s!", &prefix, &prefix_len) == FAILURE) {
- return;
+ RETURN_THROWS();
}
DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
@@ -1654,46 +1540,6 @@ PHP_FUNCTION(dom_node_lookup_namespace_uri)
}
/* }}} end dom_node_lookup_namespace_uri */
-/* {{{ proto bool dom_node_is_equal_node(DomNode arg);
-URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Node3-isEqualNode
-Since: DOM Level 3
-*/
-PHP_FUNCTION(dom_node_is_equal_node)
-{
- DOM_NOT_IMPLEMENTED();
-}
-/* }}} end dom_node_is_equal_node */
-
-/* {{{ proto DomNode dom_node_get_feature(string feature, string version);
-URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Node3-getFeature
-Since: DOM Level 3
-*/
-PHP_FUNCTION(dom_node_get_feature)
-{
- DOM_NOT_IMPLEMENTED();
-}
-/* }}} end dom_node_get_feature */
-
-/* {{{ proto mixed dom_node_set_user_data(string key, mixed data, userdatahandler handler);
-URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Node3-setUserData
-Since: DOM Level 3
-*/
-PHP_FUNCTION(dom_node_set_user_data)
-{
- DOM_NOT_IMPLEMENTED();
-}
-/* }}} end dom_node_set_user_data */
-
-/* {{{ proto mixed dom_node_get_user_data(string key);
-URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#Node3-getUserData
-Since: DOM Level 3
-*/
-PHP_FUNCTION(dom_node_get_user_data)
-{
- DOM_NOT_IMPLEMENTED();
-}
-/* }}} end dom_node_get_user_data */
-
static void dom_canonicalization(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{ */
{
zval *id;
@@ -1716,13 +1562,13 @@ static void dom_canonicalization(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{
if (zend_parse_parameters(ZEND_NUM_ARGS(),
"|bba!a!", &exclusive, &with_comments,
&xpath_array, &ns_prefixes) == FAILURE) {
- return;
+ RETURN_THROWS();
}
} else {
if (zend_parse_parameters(ZEND_NUM_ARGS(),
"s|bba!a!", &file, &file_len, &exclusive,
&with_comments, &xpath_array, &ns_prefixes) == FAILURE) {
- return;
+ RETURN_THROWS();
}
}
@@ -1885,7 +1731,7 @@ PHP_METHOD(domnode, C14NFile)
}
/* }}} */
-/* {{{ proto int DOMNode::getNodePath()
+/* {{{ proto string|null DOMNode::getNodePath()
Gets an xpath for a node */
PHP_METHOD(domnode, getNodePath)
{
@@ -1894,6 +1740,10 @@ PHP_METHOD(domnode, getNodePath)
dom_object *intern;
char *value;
+ if (zend_parse_parameters_none() == FAILURE) {
+ RETURN_THROWS();
+ }
+
DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);
value = (char *) xmlGetNodePath(nodep);
@@ -1915,7 +1765,7 @@ PHP_METHOD(domnode, getLineNo)
dom_object *intern;
if (zend_parse_parameters_none() == FAILURE) {
- return;
+ RETURN_THROWS();
}
DOM_GET_THIS_OBJ(nodep, id, xmlNodePtr, intern);