Commit 9dd442b1234a27375c956e650e49a32c61ff6167

Authored by aliguori
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
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)
... ...