]> granicus.if.org Git - php/commitdiff
Fixed SoapFault::getMessage()
authorDmitry Stogov <dmitry@php.net>
Fri, 24 Mar 2006 08:45:54 +0000 (08:45 +0000)
committerDmitry Stogov <dmitry@php.net>
Fri, 24 Mar 2006 08:45:54 +0000 (08:45 +0000)
NEWS
ext/soap/soap.c

diff --git a/NEWS b/NEWS
index c8d47e05e42733552ba280a84b07cb0df361a2ae..6ba095405149a555441a8ec7b9788ed2af019fd6 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,7 @@ PHP                                                                        NEWS
   (also fixes bug #36764). (Tony)
 - Removed the E_STRICT deprecation notice from "var". (Ilia)
 - Fixed debug_zval_dump() to support private and protected members. (Dmitry)
+- Fixed SoapFault::getMessage(). (Dmitry)
 - Fixed bug #36825 (Exceptions thrown in ArrayObject::offsetGet cause 
   segfault). (Tony)
 - Fixed bug #36820 (Privileged connection with an Oracle password file fails). 
index 0ce74898cf5237ee26cb62269515e6bdb0a819d0..3e73031b47ab165158c83d614fb9eb8821c698a1 100644 (file)
@@ -818,6 +818,10 @@ PHP_METHOD(SoapFault, __toString)
        zend_fcall_info fci;
        zval fname;
 
+       if (ZEND_NUM_ARGS() > 0) {
+               ZEND_WRONG_PARAM_COUNT();
+       }
+
        faultcode   = zend_read_property(soap_fault_class_entry, this_ptr, "faultcode", sizeof("faultcode")-1, 1 TSRMLS_CC);
        faultstring = zend_read_property(soap_fault_class_entry, this_ptr, "faultstring", sizeof("faultstring")-1, 1 TSRMLS_CC);
        file = zend_read_property(soap_fault_class_entry, this_ptr, "file", sizeof("file")-1, 1 TSRMLS_CC);
@@ -2985,6 +2989,9 @@ static void set_soap_fault(zval *obj, char *fault_code_ns, char *fault_code, cha
        }
        if (fault_string != NULL) {
                add_property_string(obj, "faultstring", fault_string, 1);
+#ifdef ZEND_ENGINE_2
+               zend_update_property_string(zend_exception_get_default(), obj, "message", sizeof("message")-1, fault_string TSRMLS_CC);
+#endif
        }
        if (fault_code != NULL) {
                int soap_version = SOAP_GLOBAL(soap_version);