@@ -96,7 +96,7 @@ static xmlNodePtr php_sxe_get_first_node_non_destructive(php_sxe_object *sxe, xm
96
96
}
97
97
}
98
98
99
- static inline int match_ns (php_sxe_object * sxe , xmlNodePtr node , const zend_string * name , int prefix ) /* {{{ */
99
+ static inline int match_ns (xmlNodePtr node , const zend_string * name , int prefix ) /* {{{ */
100
100
{
101
101
if (name == NULL && (node -> ns == NULL || node -> ns -> prefix == NULL )) {
102
102
return 1 ;
@@ -125,7 +125,7 @@ static xmlNodePtr sxe_get_element_by_offset(php_sxe_object *sxe, zend_long offse
125
125
}
126
126
}
127
127
while (node && nodendx <= offset ) {
128
- if (node -> type == XML_ELEMENT_NODE && match_ns (sxe , node , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
128
+ if (node -> type == XML_ELEMENT_NODE && match_ns (node , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
129
129
if (sxe -> iter .type == SXE_ITER_CHILD || (
130
130
sxe -> iter .type == SXE_ITER_ELEMENT && xmlStrEqual (node -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name )))) {
131
131
if (nodendx == offset ) {
@@ -149,7 +149,7 @@ static xmlNodePtr sxe_find_element_by_name(php_sxe_object *sxe, xmlNodePtr node,
149
149
{
150
150
const xmlChar * raw_name = BAD_CAST ZSTR_VAL (name );
151
151
while (node ) {
152
- if (node -> type == XML_ELEMENT_NODE && match_ns (sxe , node , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
152
+ if (node -> type == XML_ELEMENT_NODE && match_ns (node , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
153
153
if (xmlStrEqual (node -> name , raw_name )) {
154
154
return node ;
155
155
}
@@ -183,7 +183,7 @@ static xmlNodePtr sxe_get_element_by_name(php_sxe_object *sxe, xmlNodePtr node,
183
183
}
184
184
185
185
while (node ) {
186
- if (node -> type == XML_ELEMENT_NODE && match_ns (sxe , node , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
186
+ if (node -> type == XML_ELEMENT_NODE && match_ns (node , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
187
187
if (xmlStrEqual (node -> name , (xmlChar * )name )) {
188
188
* type = SXE_ITER_ELEMENT ;
189
189
return orgnode ;
@@ -265,7 +265,7 @@ static zval *sxe_prop_dim_read(zend_object *object, zval *member, bool elements,
265
265
if (Z_TYPE_P (member ) != IS_LONG || sxe -> iter .type == SXE_ITER_ATTRLIST ) {
266
266
if (Z_TYPE_P (member ) == IS_LONG ) {
267
267
while (attr && nodendx <= Z_LVAL_P (member )) {
268
- if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && match_ns (sxe , (xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
268
+ if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && match_ns ((xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
269
269
if (nodendx == Z_LVAL_P (member )) {
270
270
node_as_zval (sxe , (xmlNodePtr ) attr , rv , SXE_ITER_NONE , NULL , sxe -> iter .nsprefix , sxe -> iter .isprefix );
271
271
break ;
@@ -276,7 +276,7 @@ static zval *sxe_prop_dim_read(zend_object *object, zval *member, bool elements,
276
276
}
277
277
} else {
278
278
while (attr ) {
279
- if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (name )) && match_ns (sxe , (xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
279
+ if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (name )) && match_ns ((xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
280
280
node_as_zval (sxe , (xmlNodePtr ) attr , rv , SXE_ITER_NONE , NULL , sxe -> iter .nsprefix , sxe -> iter .isprefix );
281
281
break ;
282
282
}
@@ -491,7 +491,7 @@ static zval *sxe_prop_dim_write(zend_object *object, zval *member, zval *value,
491
491
if (attribs ) {
492
492
if (Z_TYPE_P (member ) == IS_LONG ) {
493
493
while (attr && nodendx <= Z_LVAL_P (member )) {
494
- if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && match_ns (sxe , (xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
494
+ if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && match_ns ((xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
495
495
if (nodendx == Z_LVAL_P (member )) {
496
496
is_attr = 1 ;
497
497
++ counter ;
@@ -503,7 +503,7 @@ static zval *sxe_prop_dim_write(zend_object *object, zval *member, zval *value,
503
503
}
504
504
} else {
505
505
while (attr ) {
506
- if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && xmlStrEqual (attr -> name , (xmlChar * )Z_STRVAL_P (member )) && match_ns (sxe , (xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
506
+ if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && xmlStrEqual (attr -> name , (xmlChar * )Z_STRVAL_P (member )) && match_ns ((xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
507
507
is_attr = 1 ;
508
508
++ counter ;
509
509
break ;
@@ -542,7 +542,7 @@ static zval *sxe_prop_dim_write(zend_object *object, zval *member, zval *value,
542
542
while (node ) {
543
543
SKIP_TEXT (node );
544
544
545
- if (xmlStrEqual (node -> name , (xmlChar * )Z_STRVAL_P (member )) && match_ns (sxe , node , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
545
+ if (xmlStrEqual (node -> name , (xmlChar * )Z_STRVAL_P (member )) && match_ns (node , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
546
546
newnode = node ;
547
547
++ counter ;
548
548
}
@@ -707,7 +707,7 @@ static int sxe_prop_dim_exists(zend_object *object, zval *member, int check_empt
707
707
int nodendx = 0 ;
708
708
709
709
while (attr && nodendx <= Z_LVAL_P (member )) {
710
- if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && match_ns (sxe , (xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
710
+ if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && match_ns ((xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
711
711
if (nodendx == Z_LVAL_P (member )) {
712
712
exists = 1 ;
713
713
break ;
@@ -718,7 +718,7 @@ static int sxe_prop_dim_exists(zend_object *object, zval *member, int check_empt
718
718
}
719
719
} else {
720
720
while (attr ) {
721
- if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && xmlStrEqual (attr -> name , (xmlChar * )Z_STRVAL_P (member )) && match_ns (sxe , (xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
721
+ if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && xmlStrEqual (attr -> name , (xmlChar * )Z_STRVAL_P (member )) && match_ns ((xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
722
722
exists = 1 ;
723
723
break ;
724
724
}
@@ -831,7 +831,7 @@ static void sxe_prop_dim_delete(zend_object *object, zval *member, bool elements
831
831
int nodendx = 0 ;
832
832
833
833
while (attr && nodendx <= Z_LVAL_P (member )) {
834
- if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && match_ns (sxe , (xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
834
+ if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && match_ns ((xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
835
835
if (nodendx == Z_LVAL_P (member )) {
836
836
xmlUnlinkNode ((xmlNodePtr ) attr );
837
837
php_libxml_node_free_resource ((xmlNodePtr ) attr );
@@ -844,7 +844,7 @@ static void sxe_prop_dim_delete(zend_object *object, zval *member, bool elements
844
844
} else {
845
845
while (attr ) {
846
846
anext = attr -> next ;
847
- if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && xmlStrEqual (attr -> name , (xmlChar * )Z_STRVAL_P (member )) && match_ns (sxe , (xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
847
+ if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && xmlStrEqual (attr -> name , (xmlChar * )Z_STRVAL_P (member )) && match_ns ((xmlNodePtr ) attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
848
848
xmlUnlinkNode ((xmlNodePtr ) attr );
849
849
php_libxml_node_free_resource ((xmlNodePtr ) attr );
850
850
break ;
@@ -871,7 +871,7 @@ static void sxe_prop_dim_delete(zend_object *object, zval *member, bool elements
871
871
872
872
SKIP_TEXT (node );
873
873
874
- if (xmlStrEqual (node -> name , (xmlChar * )Z_STRVAL_P (member )) && match_ns (sxe , node , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
874
+ if (xmlStrEqual (node -> name , (xmlChar * )Z_STRVAL_P (member )) && match_ns (node , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
875
875
xmlUnlinkNode (node );
876
876
php_libxml_node_free_resource (node );
877
877
}
@@ -995,7 +995,7 @@ static int sxe_prop_is_empty(zend_object *object) /* {{{ */
995
995
attr = node -> properties ;
996
996
test = sxe -> iter .name && sxe -> iter .type == SXE_ITER_ATTRLIST ;
997
997
while (attr ) {
998
- if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && match_ns (sxe , (xmlNodePtr )attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
998
+ if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && match_ns ((xmlNodePtr )attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
999
999
return 0 ;
1000
1000
}
1001
1001
attr = attr -> next ;
@@ -1031,7 +1031,7 @@ static int sxe_prop_is_empty(zend_object *object) /* {{{ */
1031
1031
}
1032
1032
}
1033
1033
1034
- if (node -> type == XML_ELEMENT_NODE && (! match_ns (sxe , node , sxe -> iter .nsprefix , sxe -> iter .isprefix ))) {
1034
+ if (node -> type == XML_ELEMENT_NODE && (! match_ns (node , sxe -> iter .nsprefix , sxe -> iter .isprefix ))) {
1035
1035
goto next_iter ;
1036
1036
}
1037
1037
@@ -1092,7 +1092,7 @@ static HashTable *sxe_get_prop_hash(zend_object *object, int is_debug) /* {{{ */
1092
1092
ZVAL_UNDEF (& zattr );
1093
1093
test = sxe -> iter .name && sxe -> iter .type == SXE_ITER_ATTRLIST ;
1094
1094
while (attr ) {
1095
- if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && match_ns (sxe , (xmlNodePtr )attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
1095
+ if ((!test || xmlStrEqual (attr -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name ))) && match_ns ((xmlNodePtr )attr , sxe -> iter .nsprefix , sxe -> iter .isprefix )) {
1096
1096
ZVAL_STR (& value , sxe_xmlNodeListGetString ((xmlDocPtr ) sxe -> document -> ptr , attr -> children , 1 ));
1097
1097
namelen = xmlStrlen (attr -> name );
1098
1098
if (Z_ISUNDEF (zattr )) {
@@ -1138,7 +1138,7 @@ static HashTable *sxe_get_prop_hash(zend_object *object, int is_debug) /* {{{ */
1138
1138
}
1139
1139
}
1140
1140
1141
- if (node -> type == XML_ELEMENT_NODE && (! match_ns (sxe , node , sxe -> iter .nsprefix , sxe -> iter .isprefix ))) {
1141
+ if (node -> type == XML_ELEMENT_NODE && (! match_ns (node , sxe -> iter .nsprefix , sxe -> iter .isprefix ))) {
1142
1142
goto next_iter ;
1143
1143
}
1144
1144
@@ -2361,7 +2361,7 @@ static xmlNodePtr php_sxe_iterator_fetch(php_sxe_object *sxe, xmlNodePtr node, i
2361
2361
if (sxe -> iter .name ) {
2362
2362
while (node ) {
2363
2363
if (node -> type == XML_ATTRIBUTE_NODE ) {
2364
- if (xmlStrEqual (node -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name )) && match_ns (sxe , node , prefix , isprefix )) {
2364
+ if (xmlStrEqual (node -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name )) && match_ns (node , prefix , isprefix )) {
2365
2365
break ;
2366
2366
}
2367
2367
}
@@ -2370,7 +2370,7 @@ static xmlNodePtr php_sxe_iterator_fetch(php_sxe_object *sxe, xmlNodePtr node, i
2370
2370
} else {
2371
2371
while (node ) {
2372
2372
if (node -> type == XML_ATTRIBUTE_NODE ) {
2373
- if (match_ns (sxe , node , prefix , isprefix )) {
2373
+ if (match_ns (node , prefix , isprefix )) {
2374
2374
break ;
2375
2375
}
2376
2376
}
@@ -2380,7 +2380,7 @@ static xmlNodePtr php_sxe_iterator_fetch(php_sxe_object *sxe, xmlNodePtr node, i
2380
2380
} else if (sxe -> iter .type == SXE_ITER_ELEMENT && sxe -> iter .name ) {
2381
2381
while (node ) {
2382
2382
if (node -> type == XML_ELEMENT_NODE ) {
2383
- if (xmlStrEqual (node -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name )) && match_ns (sxe , node , prefix , isprefix )) {
2383
+ if (xmlStrEqual (node -> name , BAD_CAST ZSTR_VAL (sxe -> iter .name )) && match_ns (node , prefix , isprefix )) {
2384
2384
break ;
2385
2385
}
2386
2386
}
@@ -2389,7 +2389,7 @@ static xmlNodePtr php_sxe_iterator_fetch(php_sxe_object *sxe, xmlNodePtr node, i
2389
2389
} else {
2390
2390
while (node ) {
2391
2391
if (node -> type == XML_ELEMENT_NODE ) {
2392
- if (match_ns (sxe , node , prefix , isprefix )) {
2392
+ if (match_ns (node , prefix , isprefix )) {
2393
2393
break ;
2394
2394
}
2395
2395
}
0 commit comments