log: bug fix register class compare mismatch 71/16771/3
authorSu Wang <su.z.wang@ericsson.com>
Fri, 11 Jan 2019 17:46:05 +0000 (12:46 -0500)
committerDamjan Marion <dmarion@me.com>
Sun, 20 Jan 2019 14:17:40 +0000 (14:17 +0000)
1. Otherwise, the log classes with same prefix, e.g. "abc" and
   "abc-de" will all be registered into log class "abc";
2. Minor improvement for test log help string.

Change-Id: I8d93be5e8fa67db6012198b3442a9e2bddcb744a
Signed-off-by: Su Wang <su.z.wang@ericsson.com>
src/vlib/log.c

index 76490fc..9a0d75f 100644 (file)
@@ -232,6 +232,8 @@ vlib_log_register_class (char *class, char *subclass)
   vlib_log_class_data_t *tmp;
   vec_foreach (tmp, lm->classes)
   {
+    if (vec_len (tmp->name) != strlen (class))
+      continue;
     if (!memcmp (class, tmp->name, vec_len (tmp->name)))
       {
        c = tmp;
@@ -689,7 +691,7 @@ test_log_class_subclass (vlib_main_t * vm,
 /* *INDENT-OFF* */
 VLIB_CLI_COMMAND (cli_test_log, static) = {
   .path = "test log",
-  .short_help = "test log <class> <subclass> <level> <message",
+  .short_help = "test log <level> <class> <subclass> <message>",
   .function = test_log_class_subclass,
 };
 /* *INDENT-ON* */