From: Dmitry Stogov Date: Mon, 5 May 2014 22:04:05 +0000 (+0400) Subject: Restored original EG(scope) behavior when call object methods X-Git-Tag: POST_PHPNG_MERGE~410^2~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=28a81353313e251e32658cc455cf30913bbc2bd8;p=php Restored original EG(scope) behavior when call object methods --- diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 2538e86cd8..c0d88eaa66 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -1938,8 +1938,13 @@ ZEND_VM_HELPER(zend_do_fcall_common_helper, ANY, ANY) if (fbc->common.scope) { should_change_scope = 1; Z_OBJ(EG(This)) = object; -//??? EG(scope) = (object) ? NULL : fbc->common.scope; + /* TODO: we don't set scope if we call an object method ??? */ + /* See: ext/pdo_sqlite/tests/pdo_fetch_func_001.phpt */ +#if 1 + EG(scope) = (object) ? NULL : fbc->common.scope; +#else EG(scope) = fbc->common.scope; +#endif EG(called_scope) = EX(call)->called_scope; } diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 6abc07d4e5..da7c59a56e 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -548,8 +548,13 @@ static int ZEND_FASTCALL zend_do_fcall_common_helper_SPEC(ZEND_OPCODE_HANDLER_AR if (fbc->common.scope) { should_change_scope = 1; Z_OBJ(EG(This)) = object; -//??? EG(scope) = (object) ? NULL : fbc->common.scope; + /* TODO: we don't set scope if we call an object method ??? */ + /* See: ext/pdo_sqlite/tests/pdo_fetch_func_001.phpt */ +#if 1 + EG(scope) = (object) ? NULL : fbc->common.scope; +#else EG(scope) = fbc->common.scope; +#endif EG(called_scope) = EX(call)->called_scope; }