From ef06bfa3ec23b456dc57e47c6542988c44d8e958 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Tue, 20 Mar 2007 07:51:32 +0000 Subject: Fixed bug #36226 (Inconsistent handling when passing nillable arrays) --- ext/soap/php_encoding.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'ext/soap/php_encoding.c') diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 53b7fa1f3f..83dd51c645 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -1221,7 +1221,8 @@ 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) && + } else if ((Z_TYPE_P(val) != IS_NULL || !model->u.element->nillable) && + (SOAP_GLOBAL(features) & SOAP_SINGLE_ELEMENT_ARRAYS) && (model->max_occurs == -1 || model->max_occurs > 1)) { zval *array; -- cgit v1.2.1