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