Commit d1a9756a authored by Wenchao Xia's avatar Wenchao Xia Committed by Luiz Capitulino
Browse files

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: default avatarWenchao Xia <xiawenc@linux.vnet.ibm.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Signed-off-by: default avatarLuiz Capitulino <lcapitulino@redhat.com>
parent d2674b2c
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -276,7 +276,6 @@ void readline_set_completion_index(ReadLineState *rs, int index)

static void readline_completion(ReadLineState *rs)
{
    Monitor *mon = cur_mon;
    int len, i, j, max_width, nb_cols, max_prefix;
    char *cmdline;

@@ -300,7 +299,7 @@ static void readline_completion(ReadLineState *rs)
        if (len > 0 && rs->completions[0][len - 1] != '/')
            readline_insert_char(rs, ' ');
    } else {
        monitor_printf(mon, "\n");
        monitor_printf(rs->mon, "\n");
        max_width = 0;
        max_prefix = 0;	
        for(i = 0; i < rs->nb_completions; i++) {