diff options
author | Dmitry Stogov <dmitry@php.net> | 2008-07-26 13:14:04 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2008-07-26 13:14:04 +0000 |
commit | af05ce0af6d35e668de297fc4961fa738272f13c (patch) | |
tree | 32d1f47915557308aa7e2f9212abb3a572b4b207 /Zend/zend_vm_execute.h | |
parent | 77baec3f6d57f2d37e89aceb758c6adf6a9538f6 (diff) | |
download | php-git-af05ce0af6d35e668de297fc4961fa738272f13c.tar.gz |
Fixed is_callable/call_user_func mess that had done different things for very similar arguments e.g. array("A","B") and "A::B"
Diffstat (limited to 'Zend/zend_vm_execute.h')
-rw-r--r-- | Zend/zend_vm_execute.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 3014b9ca2c..2eb2522abd 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -2641,6 +2641,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_CONST_HANDLER( } else { EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC); } + if (!EX(fbc)) { + zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval); + } } if (IS_CONST != IS_CONST) { @@ -3234,6 +3237,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_TMP_HANDLER(ZE } else { EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC); } + if (!EX(fbc)) { + zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval); + } } if (IS_TMP_VAR != IS_CONST) { @@ -3707,6 +3713,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_VAR_HANDLER(ZE } else { EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC); } + if (!EX(fbc)) { + zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval); + } } if (IS_VAR != IS_CONST) { @@ -3936,6 +3945,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_UNUSED_HANDLER } else { EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC); } + if (!EX(fbc)) { + zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval); + } } if (IS_UNUSED != IS_CONST) { @@ -4377,6 +4389,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_CONST_CV_HANDLER(ZEN } else { EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC); } + if (!EX(fbc)) { + zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval); + } } if (IS_CV != IS_CONST) { @@ -10320,6 +10335,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_CONST_HANDLER(ZE } else { EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC); } + if (!EX(fbc)) { + zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval); + } } if (IS_CONST != IS_CONST) { @@ -12157,6 +12175,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_TMP_HANDLER(ZEND } else { EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC); } + if (!EX(fbc)) { + zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval); + } } if (IS_TMP_VAR != IS_CONST) { @@ -13970,6 +13991,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_VAR_HANDLER(ZEND } else { EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC); } + if (!EX(fbc)) { + zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval); + } } if (IS_VAR != IS_CONST) { @@ -14880,6 +14904,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_UNUSED_HANDLER(Z } else { EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC); } + if (!EX(fbc)) { + zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval); + } } if (IS_UNUSED != IS_CONST) { @@ -16394,6 +16421,9 @@ static int ZEND_FASTCALL ZEND_INIT_STATIC_METHOD_CALL_SPEC_VAR_CV_HANDLER(ZEND_ } else { EX(fbc) = zend_std_get_static_method(ce, function_name_strval, function_name_strlen TSRMLS_CC); } + if (!EX(fbc)) { + zend_error(E_ERROR, "Call to undefined method %s::%s()", ce->name, function_name_strval); + } } if (IS_CV != IS_CONST) { |