提交 d1a9756a 编写于 作者: W Wenchao Xia 提交者: Luiz Capitulino

monitor: avoid use of global *cur_mon in readline_completion()

Now all completion functions do not use *cur_mon any more, instead
they use rs->mon. In short, structure ReadLineState decide where
the complete action would be taken now.

Tested with the case that qemu have two telnet monitors, auto
completion function works normal.
Signed-off-by: NWenchao Xia <xiawenc@linux.vnet.ibm.com>
Reviewed-by: NEric Blake <eblake@redhat.com>
Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
上级 d2674b2c
...@@ -276,7 +276,6 @@ void readline_set_completion_index(ReadLineState *rs, int index) ...@@ -276,7 +276,6 @@ void readline_set_completion_index(ReadLineState *rs, int index)
static void readline_completion(ReadLineState *rs) static void readline_completion(ReadLineState *rs)
{ {
Monitor *mon = cur_mon;
int len, i, j, max_width, nb_cols, max_prefix; int len, i, j, max_width, nb_cols, max_prefix;
char *cmdline; char *cmdline;
...@@ -300,7 +299,7 @@ static void readline_completion(ReadLineState *rs) ...@@ -300,7 +299,7 @@ static void readline_completion(ReadLineState *rs)
if (len > 0 && rs->completions[0][len - 1] != '/') if (len > 0 && rs->completions[0][len - 1] != '/')
readline_insert_char(rs, ' '); readline_insert_char(rs, ' ');
} else { } else {
monitor_printf(mon, "\n"); monitor_printf(rs->mon, "\n");
max_width = 0; max_width = 0;
max_prefix = 0; max_prefix = 0;
for(i = 0; i < rs->nb_completions; i++) { for(i = 0; i < rs->nb_completions; i++) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册