From: Gaetan Rivet Date: Thu, 20 Dec 2018 17:06:44 +0000 (+0100) Subject: eal: check against common option on register X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=f87471c3f16381a9ff7957387e6a76065781e890;p=dpdk.git eal: check against common option on register Not only check against other registered options, but also common EAL options. This will mitigate user confusion. Signed-off-by: Gaetan Rivet --- diff --git a/lib/librte_eal/common/rte_option.c b/lib/librte_eal/common/rte_option.c index d94363872c..ae8a0e2cab 100644 --- a/lib/librte_eal/common/rte_option.c +++ b/lib/librte_eal/common/rte_option.c @@ -2,6 +2,7 @@ * Copyright(c) 2018 Intel Corporation. */ +#include #include #include @@ -9,6 +10,8 @@ #include #include "eal_private.h" +#include "eal_internal_cfg.h" /* Necessary for eal_options.h */ +#include "eal_options.h" TAILQ_HEAD(rte_option_list, rte_option); @@ -39,6 +42,17 @@ void __rte_experimental rte_option_register(struct rte_option *opt) { struct rte_option *option; + const struct option *gopt; + + gopt = &eal_long_options[0]; + while (gopt->name != NULL) { + if (strcmp(gopt->name, opt->name) == 0) { + RTE_LOG(ERR, EAL, "Option %s is already a common EAL option.\n", + opt->name); + return; + } + gopt++; + } TAILQ_FOREACH(option, &rte_option_list, next) { if (strcmp(opt->name, option->name) == 0) {