From: Dmitry Stogov Date: Tue, 25 Mar 2008 13:04:22 +0000 (+0000) Subject: Optimized detection of "__call" and "__callstatic" methods. X-Git-Tag: RELEASE_2_0_0a1~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ad40998e8a2544ccc5cc54272d2d5ee341da1383;p=php Optimized detection of "__call" and "__callstatic" methods. --- diff --git a/Zend/zend_API.c b/Zend/zend_API.c index a2a66cb6bf..d20439f70a 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -3094,9 +3094,9 @@ ZEND_API int zend_fcall_info_init(zval *callable, uint check_flags, zend_fcall_i fci->no_separation = 1; fci->symbol_table = NULL; - if (ZEND_U_CASE_EQUAL(ZEND_STR_TYPE, func->common.function_name, USTR_LEN(func->common.function_name), ZEND_CALL_FUNC_NAME, sizeof(ZEND_CALL_FUNC_NAME)-1) || - ZEND_U_CASE_EQUAL(ZEND_STR_TYPE, func->common.function_name, USTR_LEN(func->common.function_name), ZEND_CALLSTATIC_FUNC_NAME, sizeof(ZEND_CALLSTATIC_FUNC_NAME)-1) - ) { + if (ce && + (ZEND_U_CASE_EQUAL(ZEND_STR_TYPE, func->common.function_name, USTR_LEN(func->common.function_name), ZEND_CALL_FUNC_NAME, sizeof(ZEND_CALL_FUNC_NAME)-1) || + ZEND_U_CASE_EQUAL(ZEND_STR_TYPE, func->common.function_name, USTR_LEN(func->common.function_name), ZEND_CALLSTATIC_FUNC_NAME, sizeof(ZEND_CALLSTATIC_FUNC_NAME)-1))) { fcc->initialized = 0; fcc->function_handler = NULL; fcc->calling_scope = NULL;