diff options
author | Dmitry Stogov <dmitry@zend.com> | 2015-02-25 10:37:21 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2015-02-25 10:37:21 +0300 |
commit | c2c78dc963a3360035dfaca417fa3351bd6c5e1f (patch) | |
tree | 2533a5efee372d1fab427614b80be8ae673bcfe1 /sapi/phpdbg/phpdbg_prompt.c | |
parent | 5f278e4d3a97ea0777e471424b52110386f1742e (diff) | |
download | php-git-c2c78dc963a3360035dfaca417fa3351bd6c5e1f.tar.gz |
Added specialized versions of DO_FCALL handler:
DO_ICALL - for internal functions
DO_UCALL - for user functions
DO_FCALL_BY_NAME - plain, most probably user, funcstions (not methods)
Diffstat (limited to 'sapi/phpdbg/phpdbg_prompt.c')
-rw-r--r-- | sapi/phpdbg/phpdbg_prompt.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sapi/phpdbg/phpdbg_prompt.c b/sapi/phpdbg/phpdbg_prompt.c index 6e492b7aaa..72cb2e018c 100644 --- a/sapi/phpdbg/phpdbg_prompt.c +++ b/sapi/phpdbg/phpdbg_prompt.c @@ -1454,7 +1454,10 @@ next: PHPDBG_G(last_line) = execute_data->opline->lineno; /* stupid hack to make zend_do_fcall_common_helper return ZEND_VM_ENTER() instead of recursively calling zend_execute() and eventually segfaulting */ - if (execute_data->opline->opcode == ZEND_DO_FCALL && execute_data->func->type == ZEND_USER_FUNCTION) { + if ((execute_data->opline->opcode == ZEND_DO_FCALL || + execute_data->opline->opcode == ZEND_DO_UCALL || + execute_data->opline->opcode == ZEND_DO_FCALL_BY_NAME) && + execute_data->func->type == ZEND_USER_FUNCTION) { zend_execute_ex = execute_ex; } PHPDBG_G(vmret) = execute_data->opline->handler(execute_data); |