From a0407cf588c5a8a302ae01d6d2bd2bdc2342ebad Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 23 Oct 2006 06:49:49 +0000 Subject: [PATCH] Fixed decoding list of arrays (related to bug #39121) --- ext/soap/php_encoding.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index d5c2ee6840..84c4aabd39 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -1346,7 +1346,16 @@ static zval *to_zval_object_ex(encodeTypePtr type, xmlNodePtr data, zend_class_e 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) { -- 2.50.1