From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 0B855A045E for ; Fri, 31 May 2019 10:55:19 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F07451B94E; Fri, 31 May 2019 10:55:18 +0200 (CEST) Received: from tama50.ecl.ntt.co.jp (tama50.ecl.ntt.co.jp [129.60.39.147]) by dpdk.org (Postfix) with ESMTP id 8A7234F91 for ; Fri, 31 May 2019 10:55:16 +0200 (CEST) Received: from vc1.ecl.ntt.co.jp (vc1.ecl.ntt.co.jp [129.60.86.153]) by tama50.ecl.ntt.co.jp (8.13.8/8.13.8) with ESMTP id x4V8tF0b027729; Fri, 31 May 2019 17:55:15 +0900 Received: from vc1.ecl.ntt.co.jp (localhost [127.0.0.1]) by vc1.ecl.ntt.co.jp (Postfix) with ESMTP id 7D18CEA8606; Fri, 31 May 2019 17:55:15 +0900 (JST) Received: from localhost.localdomain (lobster.nslab.ecl.ntt.co.jp [129.60.13.95]) by vc1.ecl.ntt.co.jp (Postfix) with ESMTP id 6FD8FEA84F3; Fri, 31 May 2019 17:55:15 +0900 (JST) From: ogawa.yasufumi@lab.ntt.co.jp To: spp@dpdk.org, ferruh.yigit@intel.com, ogawa.yasufumi@lab.ntt.co.jp Date: Fri, 31 May 2019 17:52:37 +0900 Message-Id: <1559292762-27042-6-git-send-email-ogawa.yasufumi@lab.ntt.co.jp> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1559292762-27042-1-git-send-email-ogawa.yasufumi@lab.ntt.co.jp> References: <1559292762-27042-1-git-send-email-ogawa.yasufumi@lab.ntt.co.jp> X-TM-AS-MML: disable Subject: [spp] [PATCH 05/10] spp_pcap: refactor func for splitting cmd tokens X-BeenThere: spp@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Soft Patch Panel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: spp-bounces@dpdk.org Sender: "spp" From: Yasufumi Ogawa Refactor function for splitting pcap command into tokens in which the name of vars are misunderstandable. Signed-off-by: Yasufumi Ogawa --- src/pcap/cmd_parser.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/pcap/cmd_parser.c b/src/pcap/cmd_parser.c index 577e952..cf1f2b9 100644 --- a/src/pcap/cmd_parser.c +++ b/src/pcap/cmd_parser.c @@ -36,22 +36,29 @@ set_string_value_parse_error(struct sppwk_parse_err_msg *wk_err_msg, return set_parse_error(wk_err_msg, SPPWK_PARSE_INVALID_VALUE, err_msg); } -/* Split command line parameter with spaces */ +/* Split tokens of pcap command with delimiter. */ +/* TODO(yasufum) consider this func can be moved to shared. */ static int -parse_parameter_value(char *string, int max, int *nof_tokens, char *tokens[]) +split_cmd_tokens(char *tokens_str, int max_tokens, int *nof_tokens, + char *tokens[]) { - int cnt = 0; const char *delim = " "; char *token = NULL; - char *saveptr = NULL; + char *t_ptr = NULL; + int cnt = 0; - token = strtok_r(string, delim, &saveptr); + token = strtok_r(tokens_str, delim, &t_ptr); while (token != NULL) { - if (cnt >= max) + if (cnt >= max_tokens) { + RTE_LOG(ERR, PCAP_PARSER, + "Invalid num of tokens in %s." + "It should be less than %d.\n", + tokens_str, max_tokens); return SPPWK_RET_NG; + } tokens[cnt] = token; cnt++; - token = strtok_r(NULL, delim, &saveptr); + token = strtok_r(NULL, delim, &t_ptr); } *nof_tokens = cnt; @@ -104,7 +111,7 @@ parse_pcap_cmd(struct spp_command_request *request, memset(tmp_str, 0x00, sizeof(tmp_str)); strcpy(tmp_str, request_str); - ret = parse_parameter_value(tmp_str, SPPWK_MAX_PARAMS, + ret = split_cmd_tokens(tmp_str, SPPWK_MAX_PARAMS, &nof_tokens, tokens); if (ret < SPPWK_RET_OK) { RTE_LOG(ERR, PCAP_PARSER, "Parameter number over limit." -- 2.17.1