dmitry Fri Oct 7 04:23:36 2005 EDT Modified files: (Branch: PHP_5_1) /php-src/ext/soap php_encoding.c Log: Reverted last George patches http://cvs.php.net/diff.php/php-src/ext/soap/php_encoding.c?r1=1.103.2.5&r2=1.103.2.6&ty=u Index: php-src/ext/soap/php_encoding.c diff -u php-src/ext/soap/php_encoding.c:1.103.2.5 php-src/ext/soap/php_encoding.c:1.103.2.6 --- php-src/ext/soap/php_encoding.c:1.103.2.5 Fri Oct 7 01:14:52 2005 +++ php-src/ext/soap/php_encoding.c Fri Oct 7 04:23:35 2005 @@ -17,7 +17,7 @@ | Dmitry Stogov <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: php_encoding.c,v 1.103.2.5 2005/10/07 05:14:52 gschlossnagle Exp $ */ +/* $Id: php_encoding.c,v 1.103.2.6 2005/10/07 08:23:35 dmitry Exp $ */ #include <time.h> @@ -319,10 +319,6 @@ node = encode->to_xml_after(&encode->details, node, style); } } - if(!node) { - node = xmlNewNode(NULL,"BOGUS"); - xmlAddChild(parent, node); - } return node; } @@ -1185,9 +1181,9 @@ if (sdlType->kind == XSD_TYPEKIND_RESTRICTION && sdlType->encode && type != &sdlType->encode->details) { encodePtr enc; + enc = sdlType->encode; while (enc && enc->details.sdl_type && - enc->details.sdl_type->kind != XSD_TYPEKIND_COMPLEX && enc->details.sdl_type->kind != XSD_TYPEKIND_SIMPLE && enc->details.sdl_type->kind != XSD_TYPEKIND_LIST && enc->details.sdl_type->kind != XSD_TYPEKIND_UNION) { @@ -1210,7 +1206,6 @@ sdlType->encode && type != &sdlType->encode->details) { if (sdlType->encode->details.sdl_type && - sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_COMPLEX && sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_SIMPLE && sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_LIST && sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_UNION) { @@ -1517,6 +1512,7 @@ int i; sdlTypePtr sdlType = type->sdl_type; TSRMLS_FETCH(); + if (!data || Z_TYPE_P(data) == IS_NULL) { xmlParam = xmlNewNode(NULL,"BOGUS"); xmlAddChild(parent, xmlParam); @@ -1539,7 +1535,6 @@ enc = sdlType->encode; while (enc && enc->details.sdl_type && - enc->details.sdl_type->kind != XSD_TYPEKIND_COMPLEX && enc->details.sdl_type->kind != XSD_TYPEKIND_SIMPLE && enc->details.sdl_type->kind != XSD_TYPEKIND_LIST && enc->details.sdl_type->kind != XSD_TYPEKIND_UNION) { @@ -1549,9 +1544,12 @@ zval *tmp = get_zval_property(data, "_" TSRMLS_CC); if (tmp) { xmlParam = master_to_xml(enc, tmp, style, parent); - } else { + } else if (prop == NULL) { xmlParam = master_to_xml(enc, data, style, parent); - } + } else { + xmlParam = xmlNewNode(NULL,"BOGUS"); + xmlAddChild(parent, xmlParam); + } } else { xmlParam = xmlNewNode(NULL,"BOGUS"); xmlAddChild(parent, xmlParam); @@ -1559,7 +1557,6 @@ } else if (sdlType->kind == XSD_TYPEKIND_EXTENSION && sdlType->encode && type != &sdlType->encode->details) { if (sdlType->encode->details.sdl_type && - sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_COMPLEX && sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_SIMPLE && sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_LIST && sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_UNION) { @@ -1569,8 +1566,11 @@ if (tmp) { xmlParam = master_to_xml(sdlType->encode, tmp, style, parent); - } else { + } else if (prop == NULL) { xmlParam = master_to_xml(sdlType->encode, data, style, parent); + } else { + xmlParam = xmlNewNode(NULL,"BOGUS"); + xmlAddChild(parent, xmlParam); } } } else {
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php