From mboxrd@z Thu Jan 1 00:00:00 1970 From: Panu Matilainen Subject: [PATCH 1/2] eal: refactor plugin list append from eal_parse_args() to a helper function Date: Fri, 25 Sep 2015 14:58:26 +0300 Message-ID: <4e7a4a9729833c12d51de88b6ecaf6c9ac73267d.1443181743.git.pmatilai@redhat.com> References: To: dev@dpdk.org Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id F1F458D3C for ; Fri, 25 Sep 2015 13:59:13 +0200 (CEST) In-Reply-To: In-Reply-To: References: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Signed-off-by: Panu Matilainen --- lib/librte_eal/linuxapp/eal/eal.c | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c index 33e1067..31f3915 100644 --- a/lib/librte_eal/linuxapp/eal/eal.c +++ b/lib/librte_eal/linuxapp/eal/eal.c @@ -530,6 +530,24 @@ eal_log_level_parse(int argc, char **argv) optind = 0; /* reset getopt lib */ } +static int +eal_add_solib(const char *path) +{ + struct shared_driver *solib; + + solib = malloc(sizeof(*solib)); + if (solib == NULL) { + RTE_LOG(ERR, EAL, "malloc(solib) failed\n"); + return -1; + } + memset(solib, 0, sizeof(*solib)); + strncpy(solib->name, path, PATH_MAX-1); + solib->name[PATH_MAX-1] = 0; + TAILQ_INSERT_TAIL(&solib_list, solib, next); + + return 0; +} + /* Parse the argument given in the command line of the application */ static int eal_parse_args(int argc, char **argv) @@ -538,7 +556,6 @@ eal_parse_args(int argc, char **argv) char **argvopt; int option_index; char *prgname = argv[0]; - struct shared_driver *solib; argvopt = argv; @@ -570,15 +587,8 @@ eal_parse_args(int argc, char **argv) /* force loading of external driver */ case 'd': - solib = malloc(sizeof(*solib)); - if (solib == NULL) { - RTE_LOG(ERR, EAL, "malloc(solib) failed\n"); + if (eal_add_solib(optarg) == -1) return -1; - } - memset(solib, 0, sizeof(*solib)); - strncpy(solib->name, optarg, PATH_MAX-1); - solib->name[PATH_MAX-1] = 0; - TAILQ_INSERT_TAIL(&solib_list, solib, next); break; /* long options */ -- 2.4.3