summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Yourtchenko <ayourtch@gmail.com>2019-01-21 16:39:33 +0100
committerDave Wallace <dwallacelf@gmail.com>2019-04-05 12:48:09 +0000
commitae605b89035b26248f245597291474be6ae8ec5e (patch)
treedffa12b7de85210c0a1e8b60d566f0b9d4e10b8f
parentf118ea2f38095652f29739052202b49802836fa2 (diff)
vlib: fix "foo_msg" and "foo_msg_reply" in API message table triggering the "defininion changed" output
strncmp() succeeds if the i+1th message is "foo_reply", because the comparison terminates early after "foo" - which triggers the "definition changed" rather than "only in ..." message. Fix also the case where i+1th element does not exist. Change-Id: I127136410491d9dd102e160fd831fcf6f0bd3a9f Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
-rwxr-xr-xsrc/vlibmemory/vlib_api_cli.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vlibmemory/vlib_api_cli.c b/src/vlibmemory/vlib_api_cli.c
index 4c55292ad6d..2d8d4077871 100755
--- a/src/vlibmemory/vlib_api_cli.c
+++ b/src/vlibmemory/vlib_api_cli.c
@@ -1114,8 +1114,8 @@ dump_api_table_file_command_fn (vlib_main_t * vm,
ndifferences++;
/* Only in one of two tables? */
- if (strncmp ((char *) table[i].name, (char *) table[i + 1].name,
- vec_len (table[i].name)))
+ if (i + 1 == vec_len (table)
+ || strcmp ((char *) table[i].name, (char *) table[i + 1].name))
{
last_unique:
vlib_cli_output (vm, "%-60s only in %s",