diff options
author | Bob Weinand <bobwei9@hotmail.com> | 2014-10-25 18:48:43 +0200 |
---|---|---|
committer | Bob Weinand <bobwei9@hotmail.com> | 2014-10-25 18:48:43 +0200 |
commit | bbcee18b4b6d9220d4fdcb0d69a33979a5fa84a4 (patch) | |
tree | d743c196358ecc82b8b29559d58c534cce506adb /phpdbg_prompt.c | |
parent | be5242e0fedcf23bdf56a4b1a73f8a84c5b216ce (diff) | |
download | php-git-bbcee18b4b6d9220d4fdcb0d69a33979a5fa84a4.tar.gz |
Fix phpdbg output when outputting via php with active output handlers
Diffstat (limited to 'phpdbg_prompt.c')
-rw-r--r-- | phpdbg_prompt.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c index 47d8f20154..2e0c698f05 100644 --- a/phpdbg_prompt.c +++ b/phpdbg_prompt.c @@ -42,6 +42,7 @@ #include "phpdbg_eol.h" ZEND_EXTERN_MODULE_GLOBALS(phpdbg); +ZEND_EXTERN_MODULE_GLOBALS(output); #ifdef HAVE_LIBDL #ifdef PHP_WIN32 @@ -699,12 +700,16 @@ PHPDBG_COMMAND(ev) /* {{{ */ zend_class_entry *original_called_scope = EG(called_scope); zend_vm_stack original_stack = EG(argument_stack); + PHPDBG_OUTPUT_BACKUP(); + if (PHPDBG_G(flags) & PHPDBG_IN_SIGNAL_HANDLER) { phpdbg_try_access { phpdbg_parse_variable(param->str, param->len, &EG(symbol_table), 0, phpdbg_output_ev_variable, 0 TSRMLS_CC); } phpdbg_catch_access { phpdbg_error("signalsegv", "", "Could not fetch data, invalid data source"); } phpdbg_end_try_access(); + + PHPDBG_OUTPUT_BACKUP_RESTORE(); return SUCCESS; } @@ -746,6 +751,8 @@ PHPDBG_COMMAND(ev) /* {{{ */ CG(unclean_shutdown) = 0; + PHPDBG_OUTPUT_BACKUP_RESTORE(); + return SUCCESS; } /* }}} */ |