Commit 9dd442b1234a27375c956e650e49a32c61ff6167
1 parent
f220174d
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
Showing
3 changed files
with
7 additions
and
10 deletions
console.h
... | ... | @@ -316,5 +316,6 @@ void readline_find_completion(const char *cmdline); |
316 | 316 | const char *readline_get_history(unsigned int index); |
317 | 317 | void readline_start(const char *prompt, int is_password, |
318 | 318 | ReadLineFunc *readline_func, void *opaque); |
319 | +void readline_show_prompt(void); | |
319 | 320 | |
320 | 321 | #endif | ... | ... |
monitor.c
... | ... | @@ -2855,6 +2855,7 @@ void monitor_resume(void) |
2855 | 2855 | static void monitor_start_input(void) |
2856 | 2856 | { |
2857 | 2857 | readline_start("(qemu) ", 0, monitor_handle_command1, NULL); |
2858 | + readline_show_prompt(); | |
2858 | 2859 | } |
2859 | 2860 | |
2860 | 2861 | static void term_event(void *opaque, int event) |
... | ... | @@ -2913,6 +2914,7 @@ static void monitor_readline(const char *prompt, int is_password, |
2913 | 2914 | char *buf, int buf_size) |
2914 | 2915 | { |
2915 | 2916 | readline_start(prompt, is_password, monitor_readline_cb, NULL); |
2917 | + readline_show_prompt(); | |
2916 | 2918 | monitor_readline_buf = buf; |
2917 | 2919 | monitor_readline_buf_size = buf_size; |
2918 | 2920 | monitor_readline_started = 1; | ... | ... |
readline.c
... | ... | @@ -57,7 +57,7 @@ static int term_is_password; |
57 | 57 | static char term_prompt[256]; |
58 | 58 | static void *term_readline_opaque; |
59 | 59 | |
60 | -static void term_show_prompt2(void) | |
60 | +void readline_show_prompt(void) | |
61 | 61 | { |
62 | 62 | term_printf("%s", term_prompt); |
63 | 63 | term_flush(); |
... | ... | @@ -66,13 +66,6 @@ static void term_show_prompt2(void) |
66 | 66 | term_esc_state = IS_NORM; |
67 | 67 | } |
68 | 68 | |
69 | -static void term_show_prompt(void) | |
70 | -{ | |
71 | - term_show_prompt2(); | |
72 | - term_cmd_buf_index = 0; | |
73 | - term_cmd_buf_size = 0; | |
74 | -} | |
75 | - | |
76 | 69 | /* update the displayed command line */ |
77 | 70 | static void term_update(void) |
78 | 71 | { |
... | ... | @@ -360,7 +353,7 @@ static void term_completion(void) |
360 | 353 | j = 0; |
361 | 354 | } |
362 | 355 | } |
363 | - term_show_prompt2(); | |
356 | + readline_show_prompt(); | |
364 | 357 | } |
365 | 358 | } |
366 | 359 | |
... | ... | @@ -473,7 +466,8 @@ void readline_start(const char *prompt, int is_password, |
473 | 466 | term_readline_func = readline_func; |
474 | 467 | term_readline_opaque = opaque; |
475 | 468 | term_is_password = is_password; |
476 | - term_show_prompt(); | |
469 | + term_cmd_buf_index = 0; | |
470 | + term_cmd_buf_size = 0; | |
477 | 471 | } |
478 | 472 | |
479 | 473 | const char *readline_get_history(unsigned int index) | ... | ... |