Minor cleanups in namednodemap.c (#17340)

This commit is contained in:
Niels Dossche 2025-01-03 17:33:29 +01:00 committed by GitHub
parent 0fe3a91494
commit 4c3aeec74f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 32 deletions

View file

@ -31,7 +31,7 @@
* Since: * Since:
*/ */
int php_dom_get_namednodemap_length(dom_object *obj) zend_long php_dom_get_namednodemap_length(dom_object *obj)
{ {
dom_nnodemap_object *objmap = (dom_nnodemap_object *) obj->ptr; dom_nnodemap_object *objmap = (dom_nnodemap_object *) obj->ptr;
if (!objmap) { if (!objmap) {
@ -42,16 +42,11 @@ int php_dom_get_namednodemap_length(dom_object *obj)
return objmap->ht ? xmlHashSize(objmap->ht) : 0; return objmap->ht ? xmlHashSize(objmap->ht) : 0;
} }
int count = 0; zend_long count = 0;
xmlNodePtr nodep = dom_object_get_node(objmap->baseobj); xmlNodePtr nodep = dom_object_get_node(objmap->baseobj);
if (nodep) { if (nodep) {
xmlAttrPtr curnode = nodep->properties; for (xmlAttrPtr curnode = nodep->properties; curnode; curnode = curnode->next) {
if (curnode) {
count++; count++;
while (curnode->next != NULL) {
count++;
curnode = curnode->next;
}
} }
} }
@ -126,8 +121,7 @@ PHP_METHOD(DOMNamedNodeMap, getNamedItem)
RETURN_THROWS(); RETURN_THROWS();
} }
zval *id = ZEND_THIS; dom_nnodemap_object *objmap = Z_DOMOBJ_P(ZEND_THIS)->ptr;
dom_nnodemap_object *objmap = Z_DOMOBJ_P(id)->ptr;
php_dom_named_node_map_get_named_item_into_zval(objmap, named, return_value); php_dom_named_node_map_get_named_item_into_zval(objmap, named, return_value);
} }
/* }}} end dom_namednodemap_get_named_item */ /* }}} end dom_namednodemap_get_named_item */
@ -148,7 +142,7 @@ xmlNodePtr php_dom_named_node_map_get_item(dom_nnodemap_object *objmap, zend_lon
zend_long count = 0; zend_long count = 0;
while (count < index && curnode != NULL) { while (count < index && curnode != NULL) {
count++; count++;
curnode = (xmlNodePtr)curnode->next; curnode = curnode->next;
} }
itemnode = curnode; itemnode = curnode;
} }
@ -181,8 +175,7 @@ PHP_METHOD(DOMNamedNodeMap, item)
RETURN_THROWS(); RETURN_THROWS();
} }
zval *id = ZEND_THIS; dom_object *intern = Z_DOMOBJ_P(ZEND_THIS);
dom_object *intern = Z_DOMOBJ_P(id);
dom_nnodemap_object *objmap = intern->ptr; dom_nnodemap_object *objmap = intern->ptr;
php_dom_named_node_map_get_item_into_zval(objmap, index, return_value); php_dom_named_node_map_get_item_into_zval(objmap, index, return_value);
} }
@ -193,7 +186,6 @@ Since: DOM Level 2
*/ */
PHP_METHOD(DOMNamedNodeMap, getNamedItemNS) PHP_METHOD(DOMNamedNodeMap, getNamedItemNS)
{ {
zval *id;
size_t namedlen=0, urilen=0; size_t namedlen=0, urilen=0;
dom_object *intern; dom_object *intern;
xmlNodePtr itemnode = NULL; xmlNodePtr itemnode = NULL;
@ -203,12 +195,11 @@ PHP_METHOD(DOMNamedNodeMap, getNamedItemNS)
xmlNodePtr nodep; xmlNodePtr nodep;
xmlNotation *notep = NULL; xmlNotation *notep = NULL;
id = ZEND_THIS;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "s!s", &uri, &urilen, &named, &namedlen) == FAILURE) { if (zend_parse_parameters(ZEND_NUM_ARGS(), "s!s", &uri, &urilen, &named, &namedlen) == FAILURE) {
RETURN_THROWS(); RETURN_THROWS();
} }
intern = Z_DOMOBJ_P(id); intern = Z_DOMOBJ_P(ZEND_THIS);
objmap = (dom_nnodemap_object *)intern->ptr; objmap = (dom_nnodemap_object *)intern->ptr;
@ -235,8 +226,6 @@ PHP_METHOD(DOMNamedNodeMap, getNamedItemNS)
if (itemnode) { if (itemnode) {
DOM_RET_OBJ(itemnode, objmap->baseobj); DOM_RET_OBJ(itemnode, objmap->baseobj);
} else {
RETVAL_NULL();
} }
} }
/* }}} end dom_namednodemap_get_named_item_ns */ /* }}} end dom_namednodemap_get_named_item_ns */
@ -244,25 +233,15 @@ PHP_METHOD(DOMNamedNodeMap, getNamedItemNS)
/* {{{ */ /* {{{ */
PHP_METHOD(DOMNamedNodeMap, count) PHP_METHOD(DOMNamedNodeMap, count)
{ {
zval *id; ZEND_PARSE_PARAMETERS_NONE();
dom_object *intern; dom_object *intern = Z_DOMOBJ_P(ZEND_THIS);
id = ZEND_THIS;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
intern = Z_DOMOBJ_P(id);
RETURN_LONG(php_dom_get_namednodemap_length(intern)); RETURN_LONG(php_dom_get_namednodemap_length(intern));
} }
/* }}} end dom_namednodemap_count */ /* }}} end dom_namednodemap_count */
PHP_METHOD(DOMNamedNodeMap, getIterator) PHP_METHOD(DOMNamedNodeMap, getIterator)
{ {
if (zend_parse_parameters_none() == FAILURE) { ZEND_PARSE_PARAMETERS_NONE();
return;
}
zend_create_internal_iterator_zval(return_value, ZEND_THIS); zend_create_internal_iterator_zval(return_value, ZEND_THIS);
} }

View file

@ -219,7 +219,7 @@ xmlNodePtr php_dom_named_node_map_get_named_item(dom_nnodemap_object *objmap, co
void php_dom_named_node_map_get_named_item_into_zval(dom_nnodemap_object *objmap, const zend_string *named, zval *return_value); void php_dom_named_node_map_get_named_item_into_zval(dom_nnodemap_object *objmap, const zend_string *named, zval *return_value);
xmlNodePtr php_dom_named_node_map_get_item(dom_nnodemap_object *objmap, zend_long index); xmlNodePtr php_dom_named_node_map_get_item(dom_nnodemap_object *objmap, zend_long index);
void php_dom_named_node_map_get_item_into_zval(dom_nnodemap_object *objmap, zend_long index, zval *return_value); void php_dom_named_node_map_get_item_into_zval(dom_nnodemap_object *objmap, zend_long index, zval *return_value);
int php_dom_get_namednodemap_length(dom_object *obj); zend_long php_dom_get_namednodemap_length(dom_object *obj);
xmlNodePtr dom_nodelist_iter_start_first_child(xmlNodePtr nodep); xmlNodePtr dom_nodelist_iter_start_first_child(xmlNodePtr nodep);
#define DOM_GET_INTERN(__id, __intern) { \ #define DOM_GET_INTERN(__id, __intern) { \