X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=readline.c;h=de60cfcf5d4311c89b5335e4ae2c830e2d182a2b;hb=be147d08790d4d80bfcf2c209031eede52b7dd62;hp=5f163afa7141a30cead7d426579204fa5af16223;hpb=5fafdf24ef2c090c164d4dc89684b3f379dbdd87;p=qemu diff --git a/readline.c b/readline.c index 5f163af..de60cfc 100644 --- a/readline.c +++ b/readline.c @@ -300,11 +300,11 @@ void add_completion(const char *str) static void term_completion(void) { - int len, i, j, max_width, nb_cols; + int len, i, j, max_width, nb_cols, max_prefix; char *cmdline; nb_completions = 0; - + cmdline = qemu_malloc(term_cmd_buf_index + 1); if (!cmdline) return; @@ -327,11 +327,26 @@ static void term_completion(void) } else { term_printf("\n"); max_width = 0; + max_prefix = 0; for(i = 0; i < nb_completions; i++) { len = strlen(completions[i]); + if (i==0) { + max_prefix = len; + } else { + if (len < max_prefix) + max_prefix = len; + for(j=0; j max_width) max_width = len; } + if (max_prefix > 0) + for(i = completion_index; i < max_prefix; i++) { + term_insert_char(completions[0][i]); + } max_width += 2; if (max_width < 10) max_width = 10;