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