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

Reply via email to