From: Dmitry Stogov Date: Fri, 14 Apr 2006 09:11:48 +0000 (+0000) Subject: Fixed calling header functions through __call() X-Git-Tag: RELEASE_1_3~68 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=930bf30460966e4b3f3ef69dd740f6a6613e49f4;p=php Fixed calling header functions through __call() --- diff --git a/ext/soap/soap.c b/ext/soap/soap.c index 2f872c8c31..875789143b 100644 --- a/ext/soap/soap.c +++ b/ext/soap/soap.c @@ -1667,7 +1667,9 @@ PHP_METHOD(SoapServer, handle) } fn_name = estrndup(Z_STRVAL(h->function_name),Z_STRLEN(h->function_name)); - if (zend_hash_exists(function_table, php_strtolower(fn_name, Z_STRLEN(h->function_name)), Z_STRLEN(h->function_name) + 1)) { + if (zend_hash_exists(function_table, php_strtolower(fn_name, Z_STRLEN(h->function_name)), Z_STRLEN(h->function_name) + 1) || + (service->type == SOAP_CLASS && + zend_hash_exists(function_table, ZEND_CALL_FUNC_NAME, sizeof(ZEND_CALL_FUNC_NAME)))) { if (service->type == SOAP_CLASS) { call_status = call_user_function(NULL, &soap_obj, &h->function_name, &h->retval, h->num_params, h->parameters TSRMLS_CC); } else {