summaryrefslogtreecommitdiff
path: root/ext/dom/namednodemap.c
diff options
context:
space:
mode:
authorAndreas Treichel <gmblar+github@gmail.com>2017-07-09 02:15:38 +0200
committerRemi Collet <remi@php.net>2017-07-10 08:48:10 +0200
commitf725d9b1b9c71091ece0c73d6168a13bfb0e44d1 (patch)
tree2dac3210b37b4c76cb33c72e8857dfc6f978a9ee /ext/dom/namednodemap.c
parent7cb5bdf64a95bd70623d33d6ea122c13b01113bd (diff)
downloadphp-git-f725d9b1b9c71091ece0c73d6168a13bfb0e44d1.tar.gz
Implement Countable for DomNodeList and DOMNamedNodeMap (Request #74837)
Diffstat (limited to 'ext/dom/namednodemap.c')
-rw-r--r--ext/dom/namednodemap.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/ext/dom/namednodemap.c b/ext/dom/namednodemap.c
index 4dea7be28a..3ed426cb8e 100644
--- a/ext/dom/namednodemap.c
+++ b/ext/dom/namednodemap.c
@@ -57,6 +57,9 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_namednodemap_remove_named_item_ns, 0, 0, 0)
ZEND_ARG_INFO(0, namespaceURI)
ZEND_ARG_INFO(0, localName)
ZEND_END_ARG_INFO();
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_namednodemap_count, 0, 0, 0)
+ZEND_END_ARG_INFO();
/* }}} */
/*
@@ -74,6 +77,7 @@ const zend_function_entry php_dom_namednodemap_class_functions[] = { /* {{{ */
PHP_FALIAS(getNamedItemNS, dom_namednodemap_get_named_item_ns, arginfo_dom_namednodemap_get_named_item_ns)
PHP_FALIAS(setNamedItemNS, dom_namednodemap_set_named_item_ns, arginfo_dom_namednodemap_set_named_item_ns)
PHP_FALIAS(removeNamedItemNS, dom_namednodemap_remove_named_item_ns, arginfo_dom_namednodemap_remove_named_item_ns)
+ PHP_FALIAS(count, dom_namednodemap_count, arginfo_dom_namednodemap_count)
PHP_FE_END
};
/* }}} */
@@ -332,6 +336,24 @@ PHP_FUNCTION(dom_namednodemap_remove_named_item_ns)
}
/* }}} end dom_namednodemap_remove_named_item_ns */
+/* {{{ proto int|bool dom_namednodemap_count();
+*/
+PHP_FUNCTION(dom_namednodemap_count)
+{
+ zval *id;
+ dom_object *intern;
+
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "O", &id, dom_namednodemap_class_entry) == FAILURE) {
+ return;
+ }
+
+ intern = Z_DOMOBJ_P(id);
+ if(dom_namednodemap_length_read(intern, return_value) == FAILURE) {
+ RETURN_FALSE;
+ }
+}
+/* }}} end dom_namednodemap_count */
+
#endif
/*