From: Quentin Young Date: Thu, 6 Oct 2016 00:03:39 +0000 (+0000) Subject: lib: Check match level when calculating completions X-Git-Tag: frr-3.0-branchpoint~129^2~92 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=03ca8d3dffb45aa1f20bc06802ca227a6b4e36cf;p=matthieu%2Ffrr.git lib: Check match level when calculating completions Adds a missing check that resulted in partial token matches being accepted as exact matches when calculating input completions. Signed-off-by: Quentin Young --- diff --git a/lib/command_match.c b/lib/command_match.c index 36efa3e76d..ac6a6c813a 100644 --- a/lib/command_match.c +++ b/lib/command_match.c @@ -328,6 +328,7 @@ command_complete (struct graph *graph, for (ALL_LIST_ELEMENTS_RO (current,node,gn)) { struct cmd_token *token = gn->data; + enum match_type minmatch = min_match_level (token->type); #ifdef TRACE_MATCHER fprintf (stdout, "\"%s\" matches \"%s\" (%d) ? ", input_token, token->text, token->type); #endif @@ -347,6 +348,8 @@ command_complete (struct graph *graph, listnode_add (next, gn); break; } + if (minmatch > partly_match) + break; case exact_match: #ifdef TRACE_MATCHER fprintf (stdout, "exact_match\n");