diff --git a/phpdbg_cmd.c b/phpdbg_cmd.c index 45c6a770ad4..580f68abde5 100644 --- a/phpdbg_cmd.c +++ b/phpdbg_cmd.c @@ -380,14 +380,16 @@ PHPDBG_API int phpdbg_do_cmd(const phpdbg_command_t *command, phpdbg_input_t *in } } - if (!(PHPDBG_G(flags) & PHPDBG_IS_INITIALIZING)) { + rc = command->handler(¶m, input TSRMLS_CC); + + /* only set last command when it is worth it ! */ + if ((rc != FAILURE) && + !(PHPDBG_G(flags) & PHPDBG_IS_INITIALIZING)) { PHPDBG_G(lcmd) = (phpdbg_command_t*) command; phpdbg_clear_param( &PHPDBG_G(lparam) TSRMLS_CC); PHPDBG_G(lparam) = param; } - - rc = command->handler(¶m, input TSRMLS_CC); break; } command++; diff --git a/phpdbg_prompt.c b/phpdbg_prompt.c index 552a8bc8468..8889450ab28 100644 --- a/phpdbg_prompt.c +++ b/phpdbg_prompt.c @@ -651,7 +651,7 @@ PHPDBG_COMMAND(back) /* {{{ */ zend_hash_move_forward_ex(Z_ARRVAL(zbacktrace), &position); if (zend_hash_get_current_data_ex(Z_ARRVAL(zbacktrace), (void**)&tmp, &position) == FAILURE) { phpdbg_write( - "frame #%d {main} at %s:%d", + "frame #%d: {main} at %s:%d", i, Z_STRVAL_PP(file), Z_LVAL_PP(line)); break; }