monitor: Break out readline_show_prompt (Jan Kiszka)
Break readline_show_prompt out of readline_start so that (re-)printing the prompt can be controlled in a more fine-grained way. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6709 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
f220174de8
commit
9dd442b123
@ -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
|
||||
|
@ -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;
|
||||
|
14
readline.c
14
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)
|
||||
|
Loading…
Reference in New Issue
Block a user