diff --git a/console.h b/console.h index 0c86852c4e..f9f3fc7397 100644 --- a/console.h +++ b/console.h @@ -316,5 +316,6 @@ void readline_find_completion(const char *cmdline); const char *readline_get_history(unsigned int index); void readline_start(const char *prompt, int is_password, ReadLineFunc *readline_func, void *opaque); +void readline_show_prompt(void); #endif diff --git a/monitor.c b/monitor.c index dd288899ad..322cf1ae3a 100644 --- a/monitor.c +++ b/monitor.c @@ -2855,6 +2855,7 @@ void monitor_resume(void) static void monitor_start_input(void) { readline_start("(qemu) ", 0, monitor_handle_command1, NULL); + readline_show_prompt(); } static void term_event(void *opaque, int event) @@ -2913,6 +2914,7 @@ static void monitor_readline(const char *prompt, int is_password, char *buf, int buf_size) { readline_start(prompt, is_password, monitor_readline_cb, NULL); + readline_show_prompt(); monitor_readline_buf = buf; monitor_readline_buf_size = buf_size; monitor_readline_started = 1; diff --git a/readline.c b/readline.c index 85728412e6..5a089be898 100644 --- a/readline.c +++ b/readline.c @@ -57,7 +57,7 @@ static int term_is_password; static char term_prompt[256]; static void *term_readline_opaque; -static void term_show_prompt2(void) +void readline_show_prompt(void) { term_printf("%s", term_prompt); term_flush(); @@ -66,13 +66,6 @@ static void term_show_prompt2(void) term_esc_state = IS_NORM; } -static void term_show_prompt(void) -{ - term_show_prompt2(); - term_cmd_buf_index = 0; - term_cmd_buf_size = 0; -} - /* update the displayed command line */ static void term_update(void) { @@ -360,7 +353,7 @@ static void term_completion(void) j = 0; } } - term_show_prompt2(); + readline_show_prompt(); } } @@ -473,7 +466,8 @@ void readline_start(const char *prompt, int is_password, term_readline_func = readline_func; term_readline_opaque = opaque; term_is_password = is_password; - term_show_prompt(); + term_cmd_buf_index = 0; + term_cmd_buf_size = 0; } const char *readline_get_history(unsigned int index)