summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2009-04-02 09:56:33 +0000
committerDmitry Stogov <dmitry@php.net>2009-04-02 09:56:33 +0000
commit875a27b7ede3d5b4e0a274017962f788d9176542 (patch)
treedb1bebc213e33c433526607efddc3efa2a8f656e /Zend/zend_API.c
parentf18b366ec83675991754172d438833b8b5d9957a (diff)
downloadphp-git-875a27b7ede3d5b4e0a274017962f788d9176542.tar.gz
Fixed bug #47851 (is_callable throws fatal error)
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r--Zend/zend_API.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 4c81080841..b0c460606c 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -2540,12 +2540,18 @@ get_function_via_handler:
fcc->object_ptr = EG(This);
if (error) {
zend_spprintf(error, 0, "non-static method %s::%s() %s be called statically, assuming $this from compatible context %s", fcc->calling_scope->name, fcc->function_handler->common.function_name, verb, Z_OBJCE_P(EG(This))->name);
+ if (severity == E_ERROR) {
+ retval = 0;
+ }
} else if (retval) {
zend_error(severity, "Non-static method %s::%s() %s be called statically, assuming $this from compatible context %s", fcc->calling_scope->name, fcc->function_handler->common.function_name, verb, Z_OBJCE_P(EG(This))->name);
}
} else {
if (error) {
zend_spprintf(error, 0, "non-static method %s::%s() %s be called statically", fcc->calling_scope->name, fcc->function_handler->common.function_name, verb);
+ if (severity == E_ERROR) {
+ retval = 0;
+ }
} else if (retval) {
zend_error(severity, "Non-static method %s::%s() %s be called statically", fcc->calling_scope->name, fcc->function_handler->common.function_name, verb);
}