Skip to content

Minor cleanups in namednodemap.c #17340

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 10 additions & 31 deletions ext/dom/namednodemap.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
* 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;
if (!objmap) {
Expand All @@ -42,16 +42,11 @@ int php_dom_get_namednodemap_length(dom_object *obj)
return objmap->ht ? xmlHashSize(objmap->ht) : 0;
}

int count = 0;
zend_long count = 0;
xmlNodePtr nodep = dom_object_get_node(objmap->baseobj);
if (nodep) {
xmlAttrPtr curnode = nodep->properties;
if (curnode) {
for (xmlAttrPtr curnode = nodep->properties; curnode; curnode = curnode->next) {
count++;
while (curnode->next != NULL) {
count++;
curnode = curnode->next;
}
}
}

Expand Down Expand Up @@ -126,8 +121,7 @@ PHP_METHOD(DOMNamedNodeMap, getNamedItem)
RETURN_THROWS();
}

zval *id = ZEND_THIS;
dom_nnodemap_object *objmap = Z_DOMOBJ_P(id)->ptr;
dom_nnodemap_object *objmap = Z_DOMOBJ_P(ZEND_THIS)->ptr;
php_dom_named_node_map_get_named_item_into_zval(objmap, named, return_value);
}
/* }}} end dom_namednodemap_get_named_item */
Expand All @@ -148,7 +142,7 @@ xmlNodePtr php_dom_named_node_map_get_item(dom_nnodemap_object *objmap, zend_lon
zend_long count = 0;
while (count < index && curnode != NULL) {
count++;
curnode = (xmlNodePtr)curnode->next;
curnode = curnode->next;
}
itemnode = curnode;
}
Expand Down Expand Up @@ -181,8 +175,7 @@ PHP_METHOD(DOMNamedNodeMap, item)
RETURN_THROWS();
}

zval *id = ZEND_THIS;
dom_object *intern = Z_DOMOBJ_P(id);
dom_object *intern = Z_DOMOBJ_P(ZEND_THIS);
dom_nnodemap_object *objmap = intern->ptr;
php_dom_named_node_map_get_item_into_zval(objmap, index, return_value);
}
Expand All @@ -193,7 +186,6 @@ Since: DOM Level 2
*/
PHP_METHOD(DOMNamedNodeMap, getNamedItemNS)
{
zval *id;
size_t namedlen=0, urilen=0;
dom_object *intern;
xmlNodePtr itemnode = NULL;
Expand All @@ -203,12 +195,11 @@ PHP_METHOD(DOMNamedNodeMap, getNamedItemNS)
xmlNodePtr nodep;
xmlNotation *notep = NULL;

id = ZEND_THIS;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "s!s", &uri, &urilen, &named, &namedlen) == FAILURE) {
RETURN_THROWS();
}

intern = Z_DOMOBJ_P(id);
intern = Z_DOMOBJ_P(ZEND_THIS);

objmap = (dom_nnodemap_object *)intern->ptr;

Expand All @@ -235,34 +226,22 @@ PHP_METHOD(DOMNamedNodeMap, getNamedItemNS)

if (itemnode) {
DOM_RET_OBJ(itemnode, objmap->baseobj);
} else {
RETVAL_NULL();
}
}
/* }}} end dom_namednodemap_get_named_item_ns */

/* {{{ */
PHP_METHOD(DOMNamedNodeMap, count)
{
zval *id;
dom_object *intern;

id = ZEND_THIS;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}

intern = Z_DOMOBJ_P(id);
ZEND_PARSE_PARAMETERS_NONE();
dom_object *intern = Z_DOMOBJ_P(ZEND_THIS);
RETURN_LONG(php_dom_get_namednodemap_length(intern));
}
/* }}} end dom_namednodemap_count */

PHP_METHOD(DOMNamedNodeMap, getIterator)
{
if (zend_parse_parameters_none() == FAILURE) {
return;
}

ZEND_PARSE_PARAMETERS_NONE();
zend_create_internal_iterator_zval(return_value, ZEND_THIS);
}

Expand Down
2 changes: 1 addition & 1 deletion ext/dom/php_dom.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
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);
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);

#define DOM_GET_INTERN(__id, __intern) { \
Expand Down
Loading