dmitry Wed Dec 17 10:06:41 2003 EDT Modified files: /php-src/ext/simplexml simplexml.c /php-src/ext/simplexml/tests 015.phpt Log: accessing singular subnode as array Index: php-src/ext/simplexml/simplexml.c diff -u php-src/ext/simplexml/simplexml.c:1.95 php-src/ext/simplexml/simplexml.c:1.96 --- php-src/ext/simplexml/simplexml.c:1.95 Wed Dec 17 05:28:29 2003 +++ php-src/ext/simplexml/simplexml.c Wed Dec 17 10:06:39 2003 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: simplexml.c,v 1.95 2003/12/17 10:28:29 rrichards Exp $ */ +/* $Id: simplexml.c,v 1.96 2003/12/17 15:06:39 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -243,6 +243,9 @@ */ 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); } /* }}} */ @@ -1587,7 +1590,7 @@ { php_info_print_table_start(); php_info_print_table_header(2, "Simplexml support", "enabled"); - php_info_print_table_row(2, "Revision", "$Revision: 1.95 $"); + php_info_print_table_row(2, "Revision", "$Revision: 1.96 $"); php_info_print_table_row(2, "Schema support", #ifdef LIBXML_SCHEMAS_ENABLED "enabled"); Index: php-src/ext/simplexml/tests/015.phpt diff -u php-src/ext/simplexml/tests/015.phpt:1.1 php-src/ext/simplexml/tests/015.phpt:1.2 --- php-src/ext/simplexml/tests/015.phpt:1.1 Wed Dec 17 09:49:10 2003 +++ php-src/ext/simplexml/tests/015.phpt Wed Dec 17 10:06:40 2003 @@ -10,31 +10,35 @@ </people> EOF; +$xml2 =<<<EOF +<people> + <person name="Joe"></person> + <person name="Boe"></person> +</people> +EOF; + $people = simplexml_load_string($xml); var_dump($people->person['name']); var_dump($people->person[0]['name']); -$people->person['name'] = "XXX"; -var_dump($people->person['name']); -var_dump($people->person[0]['name']); -$people->person[0]['name'] = "YYY"; -var_dump($people->person['name']); +//$people->person['name'] = "XXX"; +//var_dump($people->person['name']); +//var_dump($people->person[0]['name']); +//$people->person[0]['name'] = "YYY"; +//var_dump($people->person['name']); +//var_dump($people->person[0]['name']); +//unset($people->person[0]['name']); +//var_dump($people->person['name']); +//var_dump($people->person[0]['name']); +//var_dump(isset($people->person['name'])); +//var_dump(isset($people->person[0]['name'])); +$people = simplexml_load_string($xml2); var_dump($people->person[0]['name']); -unset($people->person[0]['name']); -var_dump($people->person['name']); -var_dump($people->person[0]['name']); -var_dump(isset($people->person['name'])); -var_dump(isset($people->person[0]['name'])); +var_dump($people->person[1]['name']); echo "---Done---\n"; ?> --EXPECT-- string(3) "Joe" string(3) "Joe" -string(3) "XXX" -string(3) "XXX" -string(3) "YYY" -string(3) "YYY" -NULL -NULL -bool(false) -bool(false) +string(3) "Joe" +string(3) "Boe" ---Done---
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php