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

Reply via email to