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