From: David Coallier Date: Tue, 3 Feb 2009 21:42:35 +0000 (+0000) Subject: - Fixed Bug #46048 (SimpleXML top-level @attributes not part of iterator) X-Git-Tag: RELEASE_1_3_5~178 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0328eaea77f5992536676ef09eeb4de19c119cc1;p=php - Fixed Bug #46048 (SimpleXML top-level @attributes not part of iterator) - Added test for bug #46048 --- diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c index bb5bc6f31e..941aeeb648 100644 --- a/ext/simplexml/simplexml.c +++ b/ext/simplexml/simplexml.c @@ -1087,7 +1087,7 @@ static HashTable * sxe_get_prop_hash(zval *object, int is_debug TSRMLS_DC) /* {{ if (!node) { return rv; } - if (is_debug) { + if (is_debug || sxe->iter.type != SXE_ITER_CHILD) { if (sxe->iter.type == SXE_ITER_ELEMENT) { node = php_sxe_get_first_node(sxe, node TSRMLS_CC); } diff --git a/ext/simplexml/tests/bug46048.phpt b/ext/simplexml/tests/bug46048.phpt new file mode 100644 index 0000000000..e3eb4f5462 --- /dev/null +++ b/ext/simplexml/tests/bug46048.phpt @@ -0,0 +1,24 @@ +--TEST-- +Bug #46048 (SimpleXML top-level @attributes not part of iterator) +--FILE-- + + value + +'; +$obj = simplexml_load_string($xml); +print_r(get_object_vars($obj)); +echo "Done\n"; +?> +--EXPECT-- +Array +( + [@attributes] => Array + ( + [id] => 1 + ) + + [key] => value +) +Done