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,5 +316,6 @@ void readline_find_completion(const char *cmdline);
316 const char *readline_get_history(unsigned int index); 316 const char *readline_get_history(unsigned int index);
317 void readline_start(const char *prompt, int is_password, 317 void readline_start(const char *prompt, int is_password,
318 ReadLineFunc *readline_func, void *opaque); 318 ReadLineFunc *readline_func, void *opaque);
  319 +void readline_show_prompt(void);
319 320
320 #endif 321 #endif
monitor.c
@@ -2855,6 +2855,7 @@ void monitor_resume(void) @@ -2855,6 +2855,7 @@ void monitor_resume(void)
2855 static void monitor_start_input(void) 2855 static void monitor_start_input(void)
2856 { 2856 {
2857 readline_start("(qemu) ", 0, monitor_handle_command1, NULL); 2857 readline_start("(qemu) ", 0, monitor_handle_command1, NULL);
  2858 + readline_show_prompt();
2858 } 2859 }
2859 2860
2860 static void term_event(void *opaque, int event) 2861 static void term_event(void *opaque, int event)
@@ -2913,6 +2914,7 @@ static void monitor_readline(const char *prompt, int is_password, @@ -2913,6 +2914,7 @@ static void monitor_readline(const char *prompt, int is_password,
2913 char *buf, int buf_size) 2914 char *buf, int buf_size)
2914 { 2915 {
2915 readline_start(prompt, is_password, monitor_readline_cb, NULL); 2916 readline_start(prompt, is_password, monitor_readline_cb, NULL);
  2917 + readline_show_prompt();
2916 monitor_readline_buf = buf; 2918 monitor_readline_buf = buf;
2917 monitor_readline_buf_size = buf_size; 2919 monitor_readline_buf_size = buf_size;
2918 monitor_readline_started = 1; 2920 monitor_readline_started = 1;
readline.c
@@ -57,7 +57,7 @@ static int term_is_password; @@ -57,7 +57,7 @@ static int term_is_password;
57 static char term_prompt[256]; 57 static char term_prompt[256];
58 static void *term_readline_opaque; 58 static void *term_readline_opaque;
59 59
60 -static void term_show_prompt2(void) 60 +void readline_show_prompt(void)
61 { 61 {
62 term_printf("%s", term_prompt); 62 term_printf("%s", term_prompt);
63 term_flush(); 63 term_flush();
@@ -66,13 +66,6 @@ static void term_show_prompt2(void) @@ -66,13 +66,6 @@ static void term_show_prompt2(void)
66 term_esc_state = IS_NORM; 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 /* update the displayed command line */ 69 /* update the displayed command line */
77 static void term_update(void) 70 static void term_update(void)
78 { 71 {
@@ -360,7 +353,7 @@ static void term_completion(void) @@ -360,7 +353,7 @@ static void term_completion(void)
360 j = 0; 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,7 +466,8 @@ void readline_start(const char *prompt, int is_password,
473 term_readline_func = readline_func; 466 term_readline_func = readline_func;
474 term_readline_opaque = opaque; 467 term_readline_opaque = opaque;
475 term_is_password = is_password; 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 const char *readline_get_history(unsigned int index) 473 const char *readline_get_history(unsigned int index)