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 <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $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) {
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php