From 37f9f36ec9b150474fe2347b79ccde2f41e1ec59 Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Fri, 10 Feb 2017 17:14:50 +0100 Subject: [PATCH] grammar_sandbox: count ambiguous commands ... and make the return value useful (for vtysh) Signed-off-by: David Lamparter --- lib/grammar_sandbox.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/grammar_sandbox.c b/lib/grammar_sandbox.c index 56733b2ecd..92292fced8 100644 --- a/lib/grammar_sandbox.c +++ b/lib/grammar_sandbox.c @@ -362,6 +362,7 @@ DEFUN (grammar_findambig, struct cmd_permute_item *prev = NULL, *cur = NULL; struct listnode *ln; int i, printall, scan, scannode = 0; + int ambig = 0; i = 0; printall = argv_find (argv, argc, "printall", &i); @@ -405,15 +406,20 @@ DEFUN (grammar_findambig, vty_out (vty, " %s%s '%s'%s", prev->el->name, VTY_NEWLINE, prev->el->string, VTY_NEWLINE); vty_out (vty, " %s%s '%s'%s", cur->el->name, VTY_NEWLINE, cur->el->string, VTY_NEWLINE); vty_out (vty, "%s", VTY_NEWLINE); + ambig++; } prev = cur; } list_delete (commands); + + vty_out (vty, "%s", VTY_NEWLINE); } while (scan && scannode < LINK_PARAMS_NODE); + vty_out (vty, "%d ambiguous commands found.%s", ambig, VTY_NEWLINE); + if (scan) nodegraph = NULL; - return CMD_SUCCESS; + return ambig == 0 ? CMD_SUCCESS : CMD_WARNING; } DEFUN (grammar_init_graph, -- 2.39.5