eal: return error when option register fails
authorGaetan Rivet <gaetan.rivet@6wind.com>
Thu, 20 Dec 2018 17:06:47 +0000 (18:06 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 15 Jan 2019 01:40:40 +0000 (02:40 +0100)
Make rte_option_register return a negative value when
an error occur.

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
lib/librte_eal/common/include/rte_option.h
lib/librte_eal/common/rte_option.c

index 20be47d..7ad65a4 100644 (file)
@@ -57,8 +57,12 @@ struct rte_option {
  *
  * @param opt
  *  Structure describing the option to parse.
+ *
+ * @return
+ *  0 on success, <0 otherwise.
  */
-void __rte_experimental
+__rte_experimental
+int
 rte_option_register(struct rte_option *opt);
 
 #ifdef __cplusplus
index b2c93b2..fe7f2ab 100644 (file)
@@ -38,7 +38,8 @@ rte_option_parse(const char *opt)
        return -1;
 }
 
-void __rte_experimental
+__rte_experimental
+int
 rte_option_register(struct rte_option *opt)
 {
        struct rte_option *option;
@@ -49,7 +50,7 @@ rte_option_register(struct rte_option *opt)
                if (strcmp(gopt->name, opt->name) == 0) {
                        RTE_LOG(ERR, EAL, "Option %s is already a common EAL option.\n",
                                        opt->name);
-                       return;
+                       return -1;
                }
                gopt++;
        }
@@ -58,11 +59,12 @@ rte_option_register(struct rte_option *opt)
                if (strcmp(opt->name, option->name) == 0) {
                        RTE_LOG(ERR, EAL, "Option %s has already been registered.\n",
                                        opt->name);
-                       return;
+                       return -1;
                }
        }
 
        TAILQ_INSERT_HEAD(&rte_option_list, opt, next);
+       return 0;
 }
 
 void