From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id 6A2A25A9A for ; Wed, 21 Jan 2015 21:58:24 +0100 (CET) Received: from hmsreliant.think-freely.org ([2001:470:8:a08:7aac:c0ff:fec2:933b] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1YE2Ly-0007AD-Rq; Wed, 21 Jan 2015 15:58:22 -0500 From: Neil Horman To: dev@dpdk.org Date: Wed, 21 Jan 2015 15:57:33 -0500 Message-Id: <1421873870-21754-9-git-send-email-nhorman@tuxdriver.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1421873870-21754-1-git-send-email-nhorman@tuxdriver.com> References: <1419109299-9603-1-git-send-email-nhorman@tuxdriver.com> <1421873870-21754-1-git-send-email-nhorman@tuxdriver.com> X-Spam-Score: -2.9 (--) X-Spam-Status: No Subject: [dpdk-dev] [PATCH v7 09/26] app/testpmd: remove duplicated function for list parsing 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: Wed, 21 Jan 2015 20:58:26 -0000 From: Bruce Richardson 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 Acked-by: Pablo de Lara --- 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); -- 2.1.0