From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 684138043 for ; Tue, 16 Dec 2014 12:07:55 +0100 (CET) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga103.jf.intel.com with ESMTP; 16 Dec 2014 03:05:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.04,691,1406617200"; d="scan'208";a="499455430" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by orsmga003.jf.intel.com with ESMTP; 16 Dec 2014 03:03:42 -0800 Received: from sivswdev01.ir.intel.com (sivswdev01.ir.intel.com [10.237.217.45]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id sBGB7qSl030705; Tue, 16 Dec 2014 11:07:53 GMT Received: from sivswdev01.ir.intel.com (localhost [127.0.0.1]) by sivswdev01.ir.intel.com with ESMTP id sBGB7qb6020132; Tue, 16 Dec 2014 11:07:52 GMT Received: (from bricha3@localhost) by sivswdev01.ir.intel.com with id sBGB7qtQ020128; Tue, 16 Dec 2014 11:07:52 GMT From: Bruce Richardson To: dev@dpdk.org Date: Tue, 16 Dec 2014 11:07:52 +0000 Message-Id: <1418728072-20092-1-git-send-email-bruce.richardson@intel.com> X-Mailer: git-send-email 1.7.4.1 Subject: [dpdk-dev] [PATCH] testpmd: remove duplicated function parse_item_list X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 11:07:56 -0000 There were two static functions called "parse_item_list" in testpmd app. Since one was a superset of the functionality of the other, we can collapse the two calls down into a single one, shared between the two C files. Signed-off-by: Bruce Richardson --- app/test-pmd/cmdline.c | 2 +- app/test-pmd/parameters.c | 49 ++--------------------------------------------- app/test-pmd/testpmd.h | 3 +++ 3 files changed, 6 insertions(+), 48 deletions(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 882a5a2..4618b92 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -2224,7 +2224,7 @@ cmdline_parse_inst_t cmd_stop = { /* *** SET CORELIST and PORTLIST CONFIGURATION *** */ -static unsigned int +unsigned int parse_item_list(char* str, const char* item_name, unsigned int max_items, unsigned int *parsed_items, int check_unique_values) { diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c index fcb2c99..adf3203 100644 --- a/app/test-pmd/parameters.c +++ b/app/test-pmd/parameters.c @@ -491,52 +491,6 @@ parse_ringnuma_config(const char *q_arg) return 0; } -static unsigned int -parse_item_list(char* str, unsigned int max_items, unsigned int *parsed_items) -{ - unsigned int nb_item; - unsigned int value; - unsigned int i; - int value_ok; - char c; - - /* - * First parse all items in the list and store their value. - */ - value = 0; - nb_item = 0; - value_ok = 0; - for (i = 0; i < strlen(str); i++) { - c = str[i]; - if ((c >= '0') && (c <= '9')) { - value = (unsigned int) (value * 10 + (c - '0')); - value_ok = 1; - continue; - } - if (c != ',') { - printf("character %c is not a decimal digit\n", c); - return (0); - } - if (! value_ok) { - printf("No valid value before comma\n"); - return (0); - } - if (nb_item < max_items) { - parsed_items[nb_item] = value; - value_ok = 0; - value = 0; - } - nb_item++; - } - - if (nb_item >= max_items) - rte_exit(EXIT_FAILURE, "too many txpkt segments!\n"); - - parsed_items[nb_item++] = value; - - return (nb_item); -} - void launch_args_parse(int argc, char** argv) { @@ -1050,7 +1004,8 @@ launch_args_parse(int argc, char** argv) unsigned seg_lengths[RTE_MAX_SEGS_PER_PKT]; unsigned int nb_segs; - nb_segs = parse_item_list(optarg, RTE_MAX_SEGS_PER_PKT, seg_lengths); + nb_segs = parse_item_list(optarg, "txpkt segments", + RTE_MAX_SEGS_PER_PKT, seg_lengths, 0); if (nb_segs > 0) set_tx_pkt_segments(seg_lengths, nb_segs); else diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h index f8b0740..8f5e6c7 100644 --- a/app/test-pmd/testpmd.h +++ b/app/test-pmd/testpmd.h @@ -446,6 +446,9 @@ port_pci_reg_write(struct rte_port *port, uint32_t reg_off, uint32_t reg_v) port_pci_reg_write(&ports[(pt_id)], (reg_off), (reg_value)) /* Prototypes */ +unsigned int parse_item_list(char* str, const char* item_name, + unsigned int max_items, + unsigned int *parsed_items, int check_unique_values); void launch_args_parse(int argc, char** argv); void prompt(void); void nic_stats_display(portid_t port_id); -- 1.9.3