dmitry Thu Sep 29 06:08:19 2005 EDT Modified files: (Branch: PHP_5_0) /php-src/ext/soap php_encoding.c Log: fixed wrong array autodetection http://cvs.php.net/diff.php/php-src/ext/soap/php_encoding.c?r1=1.71.2.26&r2=1.71.2.27&ty=u Index: php-src/ext/soap/php_encoding.c diff -u php-src/ext/soap/php_encoding.c:1.71.2.26 php-src/ext/soap/php_encoding.c:1.71.2.27 --- php-src/ext/soap/php_encoding.c:1.71.2.26 Tue Sep 20 07:40:33 2005 +++ php-src/ext/soap/php_encoding.c Thu Sep 29 06:08:16 2005 @@ -17,7 +17,7 @@ | Dmitry Stogov <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: php_encoding.c,v 1.71.2.26 2005/09/20 11:40:33 tony2001 Exp $ */ +/* $Id: php_encoding.c,v 1.71.2.27 2005/09/29 10:08:16 dmitry Exp $ */ #include <time.h> @@ -1225,7 +1225,9 @@ data = get_zval_property(object, model->u.element->name TSRMLS_CC); if (data) { enc = model->u.element->encode; - if ((model->max_occurs == -1 || model->max_occurs > 1) && Z_TYPE_P(data) == IS_ARRAY) { + if ((model->max_occurs == -1 || model->max_occurs > 1) && + Z_TYPE_P(data) == IS_ARRAY && + !is_map(data)) { HashTable *ht = Z_ARRVAL_P(data); zval **val; @@ -1248,7 +1250,9 @@ } } xmlNodeSetName(property, model->u.element->name); - if (style == SOAP_LITERAL && model->u.element->namens) { + if (style == SOAP_LITERAL && + model->u.element->namens && + model->u.element->form == XSD_FORM_QUALIFIED) { xmlNsPtr nsp = encode_add_ns(property, model->u.element->namens); xmlSetNs(property, nsp); } @@ -1308,7 +1312,9 @@ data = get_zval_property(object, "any" TSRMLS_CC); if (data) { enc = get_conversion(XSD_ANYXML); - if ((model->max_occurs == -1 || model->max_occurs > 1) && Z_TYPE_P(data) == IS_ARRAY) { + if ((model->max_occurs == -1 || model->max_occurs > 1) && + Z_TYPE_P(data) == IS_ARRAY && + !is_map(data)) { HashTable *ht = Z_ARRVAL_P(data); zval **val; @@ -1503,7 +1509,9 @@ property = master_to_xml(array_el->encode, *val, style, xmlParam); } xmlNodeSetName(property, array_el->name); - if (style == SOAP_LITERAL && array_el->namens) { + if (style == SOAP_LITERAL && + array_el->namens && + array_el->form == XSD_FORM_QUALIFIED) { xmlNsPtr nsp = encode_add_ns(property, array_el->namens); xmlSetNs(property, nsp); }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php