cvs: php-src /ext/soap php_encoding.c
| From: | Dmitry Stogov | Date: | Mon, 23 Oct 2006 06:49:49 +0000 |
| Subject: | cvs: php-src /ext/soap php_encoding.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-41192@lists.php.net to get a copy of this message | ||
dmitry Mon Oct 23 06:49:49 2006 UTC
Modified files:
/php-src/ext/soap php_encoding.c
Log:
Fixed decoding list of arrays (related to bug #39121)
http://cvs.php.net/viewvc.cgi/php-src/ext/soap/php_encoding.c?r1=1.144&r2=1.145&diff_format=u
Index: php-src/ext/soap/php_encoding.c
diff -u php-src/ext/soap/php_encoding.c:1.144 php-src/ext/soap/php_encoding.c:1.145
--- php-src/ext/soap/php_encoding.c:1.144 Tue Oct 3 07:00:57 2006
+++ php-src/ext/soap/php_encoding.c Mon Oct 23 06:49:49 2006
@@ -17,7 +17,7 @@
| Dmitry Stogov <dmitry@zend.com> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_encoding.c,v 1.144 2006/10/03 07:00:57 dmitry Exp $ */
+/* $Id: php_encoding.c,v 1.145 2006/10/23 06:49:49 dmitry Exp $ */
#include <time.h>
@@ -1346,7 +1346,16 @@
prop = get_zval_property(ret, (char*)trav->name TSRMLS_CC);
if (!prop) {
- set_zval_property(ret, (char*)trav->name, tmpVal TSRMLS_CC);
+ if (!trav->next || !get_node(trav->next, (char*)trav->name)) {
+ set_zval_property(ret, (char*)trav->name, tmpVal TSRMLS_CC);
+ } else {
+ zval *arr;
+
+ MAKE_STD_ZVAL(arr);
+ array_init(arr);
+ add_next_index_zval(arr, tmpVal);
+ set_zval_property(ret, (char*)trav->name, arr TSRMLS_CC);
+ }
} else {
/* Property already exist - make array */
if (Z_TYPE_P(prop) != IS_ARRAY) {