dmitry          Tue May 10 09:57:49 2005 EDT

  Modified files:              (Branch: PHP_5_0)
    /php-src/ext/soap   soap.c 
  Log:
  Fixed transparent SoapFault passing
  
  
http://cvs.php.net/diff.php/php-src/ext/soap/soap.c?r1=1.110.2.33&r2=1.110.2.34&ty=u
Index: php-src/ext/soap/soap.c
diff -u php-src/ext/soap/soap.c:1.110.2.33 php-src/ext/soap/soap.c:1.110.2.34
--- php-src/ext/soap/soap.c:1.110.2.33  Tue May 10 06:20:38 2005
+++ php-src/ext/soap/soap.c     Tue May 10 09:57:47 2005
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <[EMAIL PROTECTED]>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: soap.c,v 1.110.2.33 2005/05/10 10:20:38 dmitry Exp $ */
+/* $Id: soap.c,v 1.110.2.34 2005/05/10 13:57:47 dmitry Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -3498,6 +3498,15 @@
                        zend_hash_internal_pointer_reset(fault->details);
                        zend_hash_get_current_data(fault->details, 
(void**)&sparam);
                        sparam = *(sdlParamPtr*)sparam;
+
+                       if (detail &&
+                           Z_TYPE_P(detail) == IS_OBJECT &&
+                           sparam->element &&
+                           zend_hash_num_elements(Z_OBJPROP_P(detail)) == 1 &&
+                           zend_hash_find(Z_OBJPROP_P(detail), 
sparam->element->name, strlen(sparam->element->name)+1, (void**)&tmp) == 
SUCCESS) {
+                               detail = *tmp;
+                       }
+
                        x = serialize_parameter(sparam, detail, 1, NULL, use, 
node TSRMLS_CC);
 
                        if (function &&

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to