From: Dmitry Stogov Date: Fri, 24 Mar 2006 08:45:54 +0000 (+0000) Subject: Fixed SoapFault::getMessage() X-Git-Tag: php-5.1.3RC2~36 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9e26f6c21392ecbf0989f04c71cfa492317a7589;p=php Fixed SoapFault::getMessage() --- diff --git a/NEWS b/NEWS index c8d47e05e4..6ba0954051 100644 --- 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). diff --git a/ext/soap/soap.c b/ext/soap/soap.c index 0ce74898cf..3e73031b47 100644 --- a/ext/soap/soap.c +++ b/ext/soap/soap.c @@ -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);