diff --git a/tools/vsh.c b/tools/vsh.c index 73ec007e562285cefa4742c94f071ae00795fb78..68f3cd99f9b4ef173fcd69972c3289c530b543db 100644 --- a/tools/vsh.c +++ b/tools/vsh.c @@ -3493,7 +3493,10 @@ cmdComplete(vshControl *ctl, const vshCmd *cmd) if (!(matches = vshReadlineCompletion(arg, 0, 0))) goto cleanup; - for (iter = matches; *iter; iter++) + /* According to rl_completion_matches documentation, the + * first entry in @matches array is some dummy substitution + * string for @arg. Skip it. */ + for (iter = &matches[1]; *iter; iter++) printf("%s\n", *iter); ret = true;