mirror of
https://github.com/php/php-src.git
synced 2024-09-22 18:37:25 +00:00
Fix Bug #26976 (Can not access array elements using array indices)
return index 0 as non iterable object update test
This commit is contained in:
parent
8992afd3dc
commit
500fa86c1b
@ -191,21 +191,17 @@ static zval * sxe_prop_dim_read(zval *object, zval *member, zend_bool elements,
|
|||||||
node = NULL;
|
node = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (node) {
|
|
||||||
node = node->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
prefix = sxe->iter.nsprefix;
|
prefix = sxe->iter.nsprefix;
|
||||||
|
|
||||||
while (node && nodendx < Z_TYPE_P(member)) {
|
while (node && nodendx <= Z_LVAL_P(member)) {
|
||||||
SKIP_TEXT(node)
|
SKIP_TEXT(node)
|
||||||
if (node->type == XML_ELEMENT_NODE) {
|
if (node->type == XML_ELEMENT_NODE) {
|
||||||
if (match_ns(sxe, node, prefix)) {
|
if (match_ns(sxe, node, prefix)) {
|
||||||
if (sxe->iter.type == SXE_ITER_ELEMENT && !xmlStrcmp(node->name, sxe->iter.name)) {
|
if (sxe->iter.type == SXE_ITER_ELEMENT && !xmlStrcmp(node->name, sxe->iter.name)) {
|
||||||
nodendx++;
|
if (nodendx == Z_LVAL_P(member)) {
|
||||||
if (nodendx == Z_TYPE_P(member)) {
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
nodendx++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
@ -246,9 +242,6 @@ static zval * sxe_property_read(zval *object, zval *member, zend_bool silent TSR
|
|||||||
*/
|
*/
|
||||||
static zval * sxe_dimension_read(zval *object, zval *offset TSRMLS_DC)
|
static zval * sxe_dimension_read(zval *object, zval *offset TSRMLS_DC)
|
||||||
{
|
{
|
||||||
if (Z_TYPE_P(offset) == IS_LONG && Z_LVAL_P(offset) == 0) {
|
|
||||||
return object;
|
|
||||||
}
|
|
||||||
return sxe_prop_dim_read(object, offset, 0, 1, 0 TSRMLS_CC);
|
return sxe_prop_dim_read(object, offset, 0, 1, 0 TSRMLS_CC);
|
||||||
}
|
}
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
@ -41,15 +41,15 @@ object(simplexml_element)#4 (1) {
|
|||||||
[0]=>
|
[0]=>
|
||||||
string(3) "Joe"
|
string(3) "Joe"
|
||||||
}
|
}
|
||||||
object(simplexml_element)#3 (1) {
|
object(simplexml_element)#4 (1) {
|
||||||
[0]=>
|
[0]=>
|
||||||
string(3) "Joe"
|
string(3) "Joe"
|
||||||
}
|
}
|
||||||
object(simplexml_element)#2 (1) {
|
object(simplexml_element)#1 (1) {
|
||||||
[0]=>
|
[0]=>
|
||||||
string(3) "Joe"
|
string(3) "Joe"
|
||||||
}
|
}
|
||||||
object(simplexml_element)#2 (1) {
|
object(simplexml_element)#1 (1) {
|
||||||
[0]=>
|
[0]=>
|
||||||
string(3) "Boe"
|
string(3) "Boe"
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user