From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shreyansh Jain Subject: Re: [PATCH v10 01/27] devargs: add non-variadic parsing function Date: Wed, 11 Jul 2018 17:16:15 +0530 Message-ID: References: <4dd95d07b484a671a2be5d65ad12a4212093ada8.1530791217.git.gaetan.rivet@6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org To: Gaetan Rivet Return-path: Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00040.outbound.protection.outlook.com [40.107.0.40]) by dpdk.org (Postfix) with ESMTP id 30AB61B51B for ; Wed, 11 Jul 2018 13:46:45 +0200 (CEST) In-Reply-To: <4dd95d07b484a671a2be5d65ad12a4212093ada8.1530791217.git.gaetan.rivet@6wind.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Thursday 05 July 2018 05:18 PM, Gaetan Rivet wrote: > rte_devargs_parse becomes non-variadic, > rte_devargs_parsef becomes the variadic version, to be used to compose > device strings. > > Signed-off-by: Gaetan Rivet > --- > drivers/net/failsafe/failsafe_args.c | 2 +- > drivers/net/failsafe/failsafe_eal.c | 2 +- > lib/librte_eal/common/eal_common_dev.c | 4 +- > lib/librte_eal/common/eal_common_devargs.c | 42 ++++++++++++++++----- > lib/librte_eal/common/include/rte_devargs.h | 40 +++++++++++++++++++- > lib/librte_eal/rte_eal_version.map | 1 + > lib/librte_ethdev/rte_ethdev.c | 2 +- > 7 files changed, 76 insertions(+), 17 deletions(-) > [...] > +__rte_experimental > +int > +rte_devargs_parsef(struct rte_devargs *da, const char *format, ...) > +{ > + va_list ap; > + size_t len; > + char *dev; > + > + if (da == NULL) > + return -EINVAL; > + > + va_start(ap, format); > + len = vsnprintf(NULL, 0, format, ap); > + va_end(ap); > + > + dev = calloc(1, len + 1); > + if (dev == NULL) { > + fprintf(stderr, "ERROR: not enough memory to parse device\n"); Should RTE_LOG be used here? > + return -ENOMEM; > + } > + > + va_start(ap, format); > + vsnprintf(dev, len, format, ap); > + va_end(ap); > + > + return rte_devargs_parse(da, dev); > +} > + > int __rte_experimental > rte_devargs_insert(struct rte_devargs *da) > { [...] Except the comment above: Acked-by: Shreyansh Jain