From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 16F192C12 for ; Mon, 26 Jun 2017 13:10:45 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP; 26 Jun 2017 04:10:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.39,395,1493708400"; d="scan'208";a="1164692142" Received: from gklab-246-073.igk.intel.com (HELO Sent) ([10.217.246.73]) by fmsmga001.fm.intel.com with SMTP; 26 Jun 2017 04:10:43 -0700 Received: by Sent (sSMTP sendmail emulation); Mon, 26 Jun 2017 13:06:54 +0200 From: Jacek Piasecki To: dev@dpdk.org Cc: bruce.richardson@intel.com, deepak.k.jain@intel.com, Jacek Piasecki Date: Mon, 26 Jun 2017 12:59:13 +0200 Message-Id: <1498474759-102089-2-git-send-email-jacekx.piasecki@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1498474759-102089-1-git-send-email-jacekx.piasecki@intel.com> References: <1496133037-3014-2-git-send-email-jacekx.piasecki@intel.com> <1498474759-102089-1-git-send-email-jacekx.piasecki@intel.com> Subject: [dpdk-dev] [PATCH v2 1/7] cfgfile: remove EAL dependency X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jun 2017 11:10:46 -0000 This patch removes the dependency to EAL in cfgfile library. Signed-off-by: Jacek Piasecki --- lib/librte_cfgfile/Makefile | 1 + lib/librte_cfgfile/rte_cfgfile.c | 29 +++++++++++++++++------------ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/lib/librte_cfgfile/Makefile b/lib/librte_cfgfile/Makefile index 755ef11..0bee43e 100644 --- a/lib/librte_cfgfile/Makefile +++ b/lib/librte_cfgfile/Makefile @@ -38,6 +38,7 @@ LIB = librte_cfgfile.a CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) +CFLAGS += -I$(SRCDIR)/../librte_eal/common/include EXPORT_MAP := rte_cfgfile_version.map diff --git a/lib/librte_cfgfile/rte_cfgfile.c b/lib/librte_cfgfile/rte_cfgfile.c index b54a523..c6ae3e3 100644 --- a/lib/librte_cfgfile/rte_cfgfile.c +++ b/lib/librte_cfgfile/rte_cfgfile.c @@ -36,7 +36,6 @@ #include #include #include -#include #include "rte_cfgfile.h" @@ -258,19 +257,25 @@ rte_cfgfile_load_with_params(const char *filename, int flags, struct rte_cfgfile_section *sect = cfg->sections[curr_section]; - int n; + char *split[2] = {NULL}; - n = rte_strsplit(buffer, sizeof(buffer), split, 2, '='); - if (flags & CFG_FLAG_EMPTY_VALUES) { - if ((n < 1) || (n > 2)) { - printf("Error at line %d - cannot split string, n=%d\n", - lineno, n); - goto error1; - } + split[0] = buffer; + split[1] = memchr(buffer, '=', len); + + /* when delimeter not found */ + if (split[1] == NULL) { + printf("Error at line %d - cannot " + "split string\n", lineno); + goto error1; } else { - if (n != 2) { - printf("Error at line %d - cannot split string, n=%d\n", - lineno, n); + /* when delimeter found */ + *split[1] = '\0'; + split[1]++; + + if (!(flags & CFG_FLAG_EMPTY_VALUES) && + (*split[1] == '\0')) { + printf("Error at line %d - cannot " + "split string\n", lineno); goto error1; } } -- 2.7.4