summaryrefslogtreecommitdiff
path: root/Zend/zend_execute_API.c
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2008-06-05 18:50:29 +0000
committerFelipe Pena <felipe@php.net>2008-06-05 18:50:29 +0000
commit2af92fa8361ef67bf7f85c6d4da5256655cf94ca (patch)
tree705faae119ed97476fb1fbb9222ba8d7041661bc /Zend/zend_execute_API.c
parent7ba0803964d4cb1c6d5e34fdee825046077fe2f5 (diff)
downloadphp-git-2af92fa8361ef67bf7f85c6d4da5256655cf94ca.tar.gz
- Fixed bug #45180 ('class::method' works differently than array('class', 'method'))
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r--Zend/zend_execute_API.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index 6e351000e2..55d299b415 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -907,6 +907,10 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
EX(function_state).function = zend_std_get_static_method(calling_scope, fname, fname_len TSRMLS_CC);
}
+ if (((zend_internal_function*)EX(function_state).function)->handler == zend_std_call_user_call) {
+ fci->object_pp = &EG(This);
+ }
+
if (check_scope_or_static && EX(function_state).function
&& !(EX(function_state).function->common.fn_flags & ZEND_ACC_STATIC)
&& !instanceof_function(check_scope_or_static, calling_scope TSRMLS_CC)) {