summaryrefslogtreecommitdiff
path: root/phpdbg_prompt.c
diff options
context:
space:
mode:
authorBob Weinand <bobwei9@hotmail.com>2014-10-25 18:48:43 +0200
committerBob Weinand <bobwei9@hotmail.com>2014-10-25 18:48:43 +0200
commitbbcee18b4b6d9220d4fdcb0d69a33979a5fa84a4 (patch)
treed743c196358ecc82b8b29559d58c534cce506adb /phpdbg_prompt.c
parentbe5242e0fedcf23bdf56a4b1a73f8a84c5b216ce (diff)
downloadphp-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.c7
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;
} /* }}} */