@@ -1542,11 +1542,7 @@ PHP_METHOD(SoapServer, handle)
15421542 if (zend_hash_find_ptr_lc (function_table , Z_STR (h -> function_name )) != NULL ||
15431543 ((service -> type == SOAP_CLASS || service -> type == SOAP_OBJECT ) &&
15441544 zend_hash_str_exists (function_table , ZEND_CALL_FUNC_NAME , sizeof (ZEND_CALL_FUNC_NAME )- 1 ))) {
1545- if (service -> type == SOAP_CLASS || service -> type == SOAP_OBJECT ) {
1546- call_status = call_user_function (NULL , soap_obj , & h -> function_name , & h -> retval , h -> num_params , h -> parameters );
1547- } else {
1548- call_status = call_user_function (EG (function_table ), NULL , & h -> function_name , & h -> retval , h -> num_params , h -> parameters );
1549- }
1545+ call_status = call_user_function (NULL , soap_obj , & h -> function_name , & h -> retval , h -> num_params , h -> parameters );
15501546 if (call_status != SUCCESS ) {
15511547 php_error_docref (NULL , E_WARNING , "Function '%s' call failed" , Z_STRVAL (h -> function_name ));
15521548 return ;
@@ -1572,16 +1568,12 @@ PHP_METHOD(SoapServer, handle)
15721568 if (zend_hash_find_ptr_lc (function_table , Z_STR (function_name )) != NULL ||
15731569 ((service -> type == SOAP_CLASS || service -> type == SOAP_OBJECT ) &&
15741570 zend_hash_str_exists (function_table , ZEND_CALL_FUNC_NAME , sizeof (ZEND_CALL_FUNC_NAME )- 1 ))) {
1575- if (service -> type == SOAP_CLASS || service -> type == SOAP_OBJECT ) {
1576- call_status = call_user_function (NULL , soap_obj , & function_name , & retval , num_params , params );
1577- if (service -> type == SOAP_CLASS ) {
1578- if (service -> soap_class .persistence != SOAP_PERSISTENCE_SESSION ) {
1579- zval_ptr_dtor (soap_obj );
1580- soap_obj = NULL ;
1581- }
1571+ call_status = call_user_function (NULL , soap_obj , & function_name , & retval , num_params , params );
1572+ if (service -> type == SOAP_CLASS ) {
1573+ if (service -> soap_class .persistence != SOAP_PERSISTENCE_SESSION ) {
1574+ zval_ptr_dtor (soap_obj );
1575+ soap_obj = NULL ;
15821576 }
1583- } else {
1584- call_status = call_user_function (EG (function_table ), NULL , & function_name , & retval , num_params , params );
15851577 }
15861578 } else {
15871579 php_error (E_ERROR , "Function '%s' doesn't exist" , Z_STRVAL (function_name ));
0 commit comments