diff options
| author | Dmitry Stogov <dmitry@php.net> | 2006-02-02 11:42:12 +0000 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@php.net> | 2006-02-02 11:42:12 +0000 |
| commit | edbb4592909485dde44033781f3a5a4cbec32281 (patch) | |
| tree | 089f289eef2960fd6f821c736a294c1743fdb3ca /ext/soap/php_encoding.c | |
| parent | 690859c1fd2377e668a78bd4baef1e78c6949adc (diff) | |
| download | php-git-edbb4592909485dde44033781f3a5a4cbec32281.tar.gz | |
Bug #36226 Inconsistent handling when passing potential arrays
Diffstat (limited to 'ext/soap/php_encoding.c')
| -rw-r--r-- | ext/soap/php_encoding.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 20e0dab5cf..f7907450d3 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -1157,6 +1157,14 @@ static void model_to_zval_object(zval *ret, sdlContentModelPtr model, xmlNodePtr add_next_index_zval(array, val); } while ((node = get_node(node->next, model->u.element->name)) != NULL); val = array; + } else if ((SOAP_GLOBAL(features) & SOAP_SINGLE_ELEMENT_ARRAYS) && + (model->max_occurs == -1 || model->max_occurs > 1)) { + zval *array; + + MAKE_STD_ZVAL(array); + array_init(array); + add_next_index_zval(array, val); + val = array; } set_zval_property(ret, model->u.element->name, val TSRMLS_CC); } |
