Skip to content

Commit 47c277b

Browse files
nielsdosGirgias
authored andcommitted
Use xmlStrEqual() instead of !xmlStrCmp()
This actually shows the intent clearer, and also from the docs of xmlStrEqual: "Should be a bit more readable and faster than xmlStrcmp()".
1 parent 7951279 commit 47c277b

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

ext/simplexml/simplexml.c

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ static inline int match_ns(php_sxe_object *sxe, xmlNodePtr node, xmlChar *name,
100100
return 1;
101101
}
102102

103-
if (node->ns && !xmlStrcmp(prefix ? node->ns->prefix : node->ns->href, name)) {
103+
if (node->ns && xmlStrEqual(prefix ? node->ns->prefix : node->ns->href, name)) {
104104
return 1;
105105
}
106106

@@ -126,7 +126,7 @@ static xmlNodePtr sxe_get_element_by_offset(php_sxe_object *sxe, zend_long offse
126126
SKIP_TEXT(node)
127127
if (node->type == XML_ELEMENT_NODE && match_ns(sxe, node, sxe->iter.nsprefix, sxe->iter.isprefix)) {
128128
if (sxe->iter.type == SXE_ITER_CHILD || (
129-
sxe->iter.type == SXE_ITER_ELEMENT && !xmlStrcmp(node->name, sxe->iter.name))) {
129+
sxe->iter.type == SXE_ITER_ELEMENT && xmlStrEqual(node->name, sxe->iter.name))) {
130130
if (nodendx == offset) {
131131
break;
132132
}
@@ -150,7 +150,7 @@ static xmlNodePtr sxe_find_element_by_name(php_sxe_object *sxe, xmlNodePtr node,
150150
while (node) {
151151
SKIP_TEXT(node)
152152
if (node->type == XML_ELEMENT_NODE && match_ns(sxe, node, sxe->iter.nsprefix, sxe->iter.isprefix)) {
153-
if (!xmlStrcmp(node->name, name)) {
153+
if (xmlStrEqual(node->name, name)) {
154154
return node;
155155
}
156156
}
@@ -186,7 +186,7 @@ static xmlNodePtr sxe_get_element_by_name(php_sxe_object *sxe, xmlNodePtr node,
186186
while (node) {
187187
SKIP_TEXT(node)
188188
if (node->type == XML_ELEMENT_NODE && match_ns(sxe, node, sxe->iter.nsprefix, sxe->iter.isprefix)) {
189-
if (!xmlStrcmp(node->name, (xmlChar *)*name)) {
189+
if (xmlStrEqual(node->name, (xmlChar *)*name)) {
190190
*type = SXE_ITER_ELEMENT;
191191
return orgnode;
192192
}
@@ -268,7 +268,7 @@ static zval *sxe_prop_dim_read(zend_object *object, zval *member, bool elements,
268268
if (Z_TYPE_P(member) != IS_LONG || sxe->iter.type == SXE_ITER_ATTRLIST) {
269269
if (Z_TYPE_P(member) == IS_LONG) {
270270
while (attr && nodendx <= Z_LVAL_P(member)) {
271-
if ((!test || !xmlStrcmp(attr->name, sxe->iter.name)) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
271+
if ((!test || xmlStrEqual(attr->name, sxe->iter.name)) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
272272
if (nodendx == Z_LVAL_P(member)) {
273273
_node_as_zval(sxe, (xmlNodePtr) attr, rv, SXE_ITER_NONE, NULL, sxe->iter.nsprefix, sxe->iter.isprefix);
274274
break;
@@ -279,7 +279,7 @@ static zval *sxe_prop_dim_read(zend_object *object, zval *member, bool elements,
279279
}
280280
} else {
281281
while (attr) {
282-
if ((!test || !xmlStrcmp(attr->name, sxe->iter.name)) && !xmlStrcmp(attr->name, (xmlChar *)name) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
282+
if ((!test || xmlStrEqual(attr->name, sxe->iter.name)) && xmlStrEqual(attr->name, (xmlChar *)name) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
283283
_node_as_zval(sxe, (xmlNodePtr) attr, rv, SXE_ITER_NONE, NULL, sxe->iter.nsprefix, sxe->iter.isprefix);
284284
break;
285285
}
@@ -494,7 +494,7 @@ static zval *sxe_prop_dim_write(zend_object *object, zval *member, zval *value,
494494
if (attribs) {
495495
if (Z_TYPE_P(member) == IS_LONG) {
496496
while (attr && nodendx <= Z_LVAL_P(member)) {
497-
if ((!test || !xmlStrcmp(attr->name, sxe->iter.name)) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
497+
if ((!test || xmlStrEqual(attr->name, sxe->iter.name)) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
498498
if (nodendx == Z_LVAL_P(member)) {
499499
is_attr = 1;
500500
++counter;
@@ -506,7 +506,7 @@ static zval *sxe_prop_dim_write(zend_object *object, zval *member, zval *value,
506506
}
507507
} else {
508508
while (attr) {
509-
if ((!test || !xmlStrcmp(attr->name, sxe->iter.name)) && !xmlStrcmp(attr->name, (xmlChar *)Z_STRVAL_P(member)) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
509+
if ((!test || xmlStrEqual(attr->name, sxe->iter.name)) && xmlStrEqual(attr->name, (xmlChar *)Z_STRVAL_P(member)) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
510510
is_attr = 1;
511511
++counter;
512512
break;
@@ -545,7 +545,7 @@ static zval *sxe_prop_dim_write(zend_object *object, zval *member, zval *value,
545545
while (node) {
546546
SKIP_TEXT(node);
547547

548-
if (!xmlStrcmp(node->name, (xmlChar *)Z_STRVAL_P(member)) && match_ns(sxe, node, sxe->iter.nsprefix, sxe->iter.isprefix)) {
548+
if (xmlStrEqual(node->name, (xmlChar *)Z_STRVAL_P(member)) && match_ns(sxe, node, sxe->iter.nsprefix, sxe->iter.isprefix)) {
549549
newnode = node;
550550
++counter;
551551
}
@@ -708,7 +708,7 @@ static int sxe_prop_dim_exists(zend_object *object, zval *member, int check_empt
708708
int nodendx = 0;
709709

710710
while (attr && nodendx <= Z_LVAL_P(member)) {
711-
if ((!test || !xmlStrcmp(attr->name, sxe->iter.name)) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
711+
if ((!test || xmlStrEqual(attr->name, sxe->iter.name)) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
712712
if (nodendx == Z_LVAL_P(member)) {
713713
exists = 1;
714714
break;
@@ -719,7 +719,7 @@ static int sxe_prop_dim_exists(zend_object *object, zval *member, int check_empt
719719
}
720720
} else {
721721
while (attr) {
722-
if ((!test || !xmlStrcmp(attr->name, sxe->iter.name)) && !xmlStrcmp(attr->name, (xmlChar *)Z_STRVAL_P(member)) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
722+
if ((!test || xmlStrEqual(attr->name, sxe->iter.name)) && xmlStrEqual(attr->name, (xmlChar *)Z_STRVAL_P(member)) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
723723
exists = 1;
724724
break;
725725
}
@@ -728,7 +728,7 @@ static int sxe_prop_dim_exists(zend_object *object, zval *member, int check_empt
728728
}
729729
}
730730
if (exists && check_empty == 1 &&
731-
(!attr->children || !attr->children->content || !attr->children->content[0] || !xmlStrcmp(attr->children->content, (const xmlChar *) "0")) ) {
731+
(!attr->children || !attr->children->content || !attr->children->content[0] || xmlStrEqual(attr->children->content, (const xmlChar *) "0")) ) {
732732
/* Attribute with no content in it's text node */
733733
exists = 0;
734734
}
@@ -747,7 +747,7 @@ static int sxe_prop_dim_exists(zend_object *object, zval *member, int check_empt
747747
exists = 1;
748748
if (check_empty == 1 &&
749749
(!node->children || (node->children->type == XML_TEXT_NODE && !node->children->next &&
750-
(!node->children->content || !node->children->content[0] || !xmlStrcmp(node->children->content, (const xmlChar *) "0")))) ) {
750+
(!node->children->content || !node->children->content[0] || xmlStrEqual(node->children->content, (const xmlChar *) "0")))) ) {
751751
exists = 0;
752752
}
753753
}
@@ -832,7 +832,7 @@ static void sxe_prop_dim_delete(zend_object *object, zval *member, bool elements
832832
int nodendx = 0;
833833

834834
while (attr && nodendx <= Z_LVAL_P(member)) {
835-
if ((!test || !xmlStrcmp(attr->name, sxe->iter.name)) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
835+
if ((!test || xmlStrEqual(attr->name, sxe->iter.name)) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
836836
if (nodendx == Z_LVAL_P(member)) {
837837
xmlUnlinkNode((xmlNodePtr) attr);
838838
php_libxml_node_free_resource((xmlNodePtr) attr);
@@ -845,7 +845,7 @@ static void sxe_prop_dim_delete(zend_object *object, zval *member, bool elements
845845
} else {
846846
while (attr) {
847847
anext = attr->next;
848-
if ((!test || !xmlStrcmp(attr->name, sxe->iter.name)) && !xmlStrcmp(attr->name, (xmlChar *)Z_STRVAL_P(member)) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
848+
if ((!test || xmlStrEqual(attr->name, sxe->iter.name)) && xmlStrEqual(attr->name, (xmlChar *)Z_STRVAL_P(member)) && match_ns(sxe, (xmlNodePtr) attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
849849
xmlUnlinkNode((xmlNodePtr) attr);
850850
php_libxml_node_free_resource((xmlNodePtr) attr);
851851
break;
@@ -872,7 +872,7 @@ static void sxe_prop_dim_delete(zend_object *object, zval *member, bool elements
872872

873873
SKIP_TEXT(node);
874874

875-
if (!xmlStrcmp(node->name, (xmlChar *)Z_STRVAL_P(member)) && match_ns(sxe, node, sxe->iter.nsprefix, sxe->iter.isprefix)) {
875+
if (xmlStrEqual(node->name, (xmlChar *)Z_STRVAL_P(member)) && match_ns(sxe, node, sxe->iter.nsprefix, sxe->iter.isprefix)) {
876876
xmlUnlinkNode(node);
877877
php_libxml_node_free_resource(node);
878878
}
@@ -997,7 +997,7 @@ static int sxe_prop_is_empty(zend_object *object) /* {{{ */
997997
attr = node ? (xmlAttrPtr)node->properties : NULL;
998998
test = sxe->iter.name && sxe->iter.type == SXE_ITER_ATTRLIST;
999999
while (attr) {
1000-
if ((!test || !xmlStrcmp(attr->name, sxe->iter.name)) && match_ns(sxe, (xmlNodePtr)attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
1000+
if ((!test || xmlStrEqual(attr->name, sxe->iter.name)) && match_ns(sxe, (xmlNodePtr)attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
10011001
return 0;
10021002
}
10031003
attr = attr->next;
@@ -1107,7 +1107,7 @@ static HashTable *sxe_get_prop_hash(zend_object *object, int is_debug) /* {{{ */
11071107
ZVAL_UNDEF(&zattr);
11081108
test = sxe->iter.name && sxe->iter.type == SXE_ITER_ATTRLIST;
11091109
while (attr) {
1110-
if ((!test || !xmlStrcmp(attr->name, sxe->iter.name)) && match_ns(sxe, (xmlNodePtr)attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
1110+
if ((!test || xmlStrEqual(attr->name, sxe->iter.name)) && match_ns(sxe, (xmlNodePtr)attr, sxe->iter.nsprefix, sxe->iter.isprefix)) {
11111111
ZVAL_STR(&value, sxe_xmlNodeListGetString((xmlDocPtr) sxe->document->ptr, attr->children, 1));
11121112
namelen = xmlStrlen(attr->name);
11131113
if (Z_ISUNDEF(zattr)) {
@@ -2392,7 +2392,7 @@ static xmlNodePtr php_sxe_iterator_fetch(php_sxe_object *sxe, xmlNodePtr node, i
23922392
if (sxe->iter.name) {
23932393
while (node) {
23942394
if (node->type == XML_ATTRIBUTE_NODE) {
2395-
if (!xmlStrcmp(node->name, sxe->iter.name) && match_ns(sxe, node, prefix, isprefix)) {
2395+
if (xmlStrEqual(node->name, sxe->iter.name) && match_ns(sxe, node, prefix, isprefix)) {
23962396
break;
23972397
}
23982398
}
@@ -2411,7 +2411,7 @@ static xmlNodePtr php_sxe_iterator_fetch(php_sxe_object *sxe, xmlNodePtr node, i
24112411
} else if (sxe->iter.type == SXE_ITER_ELEMENT && sxe->iter.name) {
24122412
while (node) {
24132413
if (node->type == XML_ELEMENT_NODE) {
2414-
if (!xmlStrcmp(node->name, sxe->iter.name) && match_ns(sxe, node, prefix, isprefix)) {
2414+
if (xmlStrEqual(node->name, sxe->iter.name) && match_ns(sxe, node, prefix, isprefix)) {
24152415
break;
24162416
}
24172417
}

0 commit comments

Comments
 (0)