another patch from upstream

This commit is contained in:
krakjoe 2014-02-02 14:58:39 +00:00
parent 6a6bec44ad
commit e8519bc207

View File

@ -479,7 +479,7 @@ disconnect:
#ifndef HAVE_LIBREADLINE
if (!(PHPDBG_G(flags) & PHPDBG_IS_REMOTE)) {
if (!phpdbg_write(phpdbg_get_prompt(TSRMLS_C))) {
if (!phpdbg_write("%s", phpdbg_get_prompt(TSRMLS_C))) {
goto disconnect;
}
}
@ -595,6 +595,8 @@ PHPDBG_API int phpdbg_do_cmd(const phpdbg_command_t *command, phpdbg_input_t *in
(command->alias == *input->argv[0]->string))) {
phpdbg_param_t param;
phpdbg_command_t *initial_last_cmd;
phpdbg_param_t initial_last_param;
param.type = EMPTY_PARAM;
@ -657,15 +659,20 @@ PHPDBG_API int phpdbg_do_cmd(const phpdbg_command_t *command, phpdbg_input_t *in
}
}
initial_last_param = PHPDBG_G(lparam);
initial_last_cmd = (phpdbg_command_t *)PHPDBG_G(lcmd);
PHPDBG_G(lparam) = param;
PHPDBG_G(lcmd) = (phpdbg_command_t *)command;
rc = command->handler(&param, 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;
if (rc != FAILURE && !(PHPDBG_G(flags) & PHPDBG_IS_INITIALIZING)) {
phpdbg_clear_param(&initial_last_param TSRMLS_CC);
} else if (PHPDBG_G(lcmd) == command && !memcmp(&PHPDBG_G(lparam),& initial_last_param, sizeof(phpdbg_param_t))) {
PHPDBG_G(lparam) = initial_last_param;
PHPDBG_G(lcmd) = initial_last_cmd;
phpdbg_clear_param(&param TSRMLS_CC);
}
break;
}