From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3EC9A43B0F; Thu, 15 Feb 2024 10:11:18 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D22CD433C9; Thu, 15 Feb 2024 10:11:17 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by mails.dpdk.org (Postfix) with ESMTP id E586A42EA1 for ; Thu, 15 Feb 2024 10:11:15 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1707988276; x=1739524276; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=tYUlhC91VJ0RVGzoPfqrkkSb3dYT744d5murM1tNCU8=; b=CuchBYaEZnJQHLtWTi9oQRwXaH5rMJ0V5KWso3+3qXVfLUNDrXGfmG+2 vT5hoFGBecDtK8IyJ5SRVUxgZfePJLIiFSHJvO0nntRieEGtuUryPWxs7 OuWRW/sj6X8d+TNJlN3jqVPsXNYPd4btzIN99KEUzZB4JMp0q6QmgVpXP cVtdfgSdbh15Pv+NM+nfFQSWeTXIjY0Gu8e+NHSVP2Lk1lMoJPJPHYapZ bEX37d2EJi8SGrBO2iY8mmnb89rvegU2qMAKdKfakAY3tf+37iEgKUwNF 8H7sIXFn/EumSNaiCv70/CvcMRXSvFid7ENbE+dG7rGd4GTbb4NJsEKLs g==; X-IronPort-AV: E=McAfee;i="6600,9927,10984"; a="12696177" X-IronPort-AV: E=Sophos;i="6.06,161,1705392000"; d="scan'208";a="12696177" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Feb 2024 01:11:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,161,1705392000"; d="scan'208";a="8128285" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orviesa005.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 15 Feb 2024 01:11:14 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 15 Feb 2024 01:11:13 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 15 Feb 2024 01:11:13 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 15 Feb 2024 01:11:10 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZB7hCT4inoxtjUVogfezeL9RxV3pt3xeTWJfBVyLbka8/Qsmy6rTQhAcICMRHnQH2QgRNTPydQiSXDpQIXpyQLUOgPMfWKjz3KOUcW0cm7rGkbKqQ3HoUVofFyWMo6VHENB+mT/3iNBuPJmAXu5isXEX5I3Ayf8/zjyNmxHYBgRmlv4VmDEb63MDOWnAay9Frqz7hQJAHovszxkL3m6CB7iJvsLu8jXwswtcbb06zaQiZuN72VHW1tMwMBYNAb4HZ+Gf5bDiYoD/jyoK3n03niL23WCw1cAWQjlYvdwqhHlKl7DG2t84PlBGe/VKOaJZ+z/T0vem71D+jUAjqx5iZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=X6LJ9avvS/0pXmLfFOydny47rOq+o2c624zcGReSKm0=; b=oQnrH2pJnpJawjEjCS9xfnGIpQQMT6sFKDXR7F3Lzi14l6Hcs+TrqJymnQ4SZvt39xcEXhh7e33gLa516+i7bmAujJT/Chrr/41CPC6vr39AKfMgb6jPNcv0ObkM9KxsCvmmjSzrW+iXMauzPh7miKJGorMZJZTvM5DFOOr+6sqX8cVL9IFQNmYFwdpUZNrfuOrjSICcakI5pMSmtoNZZ85xsMrq9IXIJpsWVSwOsIEMpxez3RtYI9C8hFAhJ8yVOiZzdWppPZcVT2FTP1Z25nbm+abrml3kHx8jlF9H7jsV9bXSqZIRPp/2IFI7IVc67dFbO67mkLlwdGNeFM8afw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) by CO6PR11MB5666.namprd11.prod.outlook.com (2603:10b6:303:13a::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.26; Thu, 15 Feb 2024 09:11:03 +0000 Received: from DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::d10:3009:a8d3:1d2e]) by DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::d10:3009:a8d3:1d2e%7]) with mapi id 15.20.7270.036; Thu, 15 Feb 2024 09:11:03 +0000 Date: Thu, 15 Feb 2024 09:10:58 +0000 From: Bruce Richardson To: David Marchand CC: , , Sunil Kumar Kori , Rakesh Kudurumalla , "Jerin Jacob" , Srikanth Yalavarthi , Cristian Dumitrescu , Aman Singh , Yuying Zhang , "Brian Dooley" , Gowrishankar Muthukrishnan Subject: Re: [PATCH] eal: add helper to skip whitespaces Message-ID: References: <20240214121219.3408867-1-david.marchand@redhat.com> Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-ClientProxiedBy: DUZPR01CA0231.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b4::12) To DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7309:EE_|CO6PR11MB5666:EE_ X-MS-Office365-Filtering-Correlation-Id: 82a08655-6be0-445d-0dc9-08dc2e0608d7 X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: w2f5uXnPB/tp4yW25tlLNyMESliASl0bTIqMGjspTD2UhCoxNMt4tvQ6H+J5fcP2sYCVpL01AhAEM2EGmcqIg74X4/UnQo65+GXiyDlNGm4Y9YCYhzALdhXYyhm4JNminV4xNDv520WuKid/u/6/nv6M5jkkkvPBQ0a9t1ZRZMji7aqYk47NJARzzgVe8qBbzCr0u9IM1iDyIGCzcJGAhHjEaBklRwpefgH14wH3BKUsI8CGL9xwF4/pxJr8/OYNpP3SVo001WuYMdtxa7LOFDS25rShWzBvMAcZ+KPPbdmGlS5mKhWpWHGpMQW2UpvnhPsXHj4IaXKf9WnzqosP+f6+h4hxubzxHJUD7ihO1jAA1Cz+2Q76c5drAU80TzCcJcBqhQuagFJ1sGTjHGCKNzmjA9oXx6C6ELEDoZ4YmmacfCLbhyXMomB9cmDllGAGcsegHOeYw0dh0xohBFajHB+JnYOq7z/o9bawQVBql0+z0UH/UdoFvMWvJSRjh3aViYAqx9cUStZ+pyZRJ95wVKk7WxjO8vu4mZg4MTp8ae4t5hjWtENcNhxr6pPRjMpt X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR11MB7309.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(39860400002)(376002)(136003)(366004)(396003)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(83380400001)(41300700001)(26005)(38100700002)(82960400001)(4326008)(6916009)(8676002)(8936002)(5660300002)(66476007)(66556008)(44832011)(2906002)(478600001)(6486002)(6512007)(6506007)(6666004)(54906003)(53546011)(316002)(66946007)(86362001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bWNyZC9WYldPSnBnYlZJbzhqM2V2ZU1YN0svcHUxVVBXSUQvNHgyaW9ZOUZT?= =?utf-8?B?aVhnWmd6ZjJkekV0NEpOS0wrOHhZNzdiOVNEWEFuTUI0UVZTTHNiZ1VISUpN?= =?utf-8?B?OGIxbmhGSThXdDh1Nit1eTNCWFZhMnpsS0NxNldyd0pEQ2NwWDRBVFpPY01s?= =?utf-8?B?UHZFcDl5YjNBbHQ4WVpxaUJSRFpkRUtvWXh4NVM3MmR4OGRuangzL3AyQU4y?= =?utf-8?B?TjlBT2dPRzdGSkJ0U3p0eTBXbFQwUmJ5SFhucGs1QVFCcE9CTy9rRlU2eTdv?= =?utf-8?B?N2Q5d1RDdTdpYzFwQzd4VGpEeFVkQkNONE1kR0xqZXhURU1TRHZ6L2xQem5P?= =?utf-8?B?NEdhQUtOamFHb2VCdkdScUpnOVN2ZDVVWU1SdWhhdzNpMlZJY3AybVR3NHpT?= =?utf-8?B?ZEtDUlQzNUFjbFRUUE1PR2tWWjFnTDJucmR5L3RmRDJjY3BmTXhXa1ZEeHp0?= =?utf-8?B?ZVMzSHF2R3N2bVJlV0FoUEQwTkptRWtzMVdqRTltcnRQZWE2bmxxQVRhY1lw?= =?utf-8?B?RENiWjcxdHUxQTFGQnNlalBoVnY4cEp3NjhvMnRaeDZQdm1HU1g5TmdacHZ2?= =?utf-8?B?cEczSVc1SGdVMS9Wa09ya1hvakR1ODJOL3ladEhHZGQwa2lPMUtpUmRoay95?= =?utf-8?B?MzV3SjhLN2ZEa1NwbzFQa010VzYwWCttVnUxRnltS05xOU5Va0VrLzVPWHZx?= =?utf-8?B?WXp3V3JzdEdhbXo2dGJnSUE3Qk9CR3BuS3RQWWtqR3lDME05alh0WXR6RElS?= =?utf-8?B?N1MvVzVEaHhZaTVSY2RmOVZCbXQ1ZVlMWTNMeWZpVzZORlJKSUliVWkvcURl?= =?utf-8?B?M3FucVJ1VnprSTQreVZOT2crVnI1WVpjWHlkOFoxNzFYVkNuejRoMDNYL2Jv?= =?utf-8?B?WnhoclBJWW5NNVpRVjZwVUhqYVNXSGRRMkZjeGhKUHoyY1lMbjErRTVQNk1x?= =?utf-8?B?WS9TSkg2U01XeUkxUldkcUpsQTJqMHJvcFpvSWx6NDBrcTdzaGNEaGZsM3NP?= =?utf-8?B?MXVuVml2cjMrMW0wQ2lERk9QVnU0Q3I1Q0VCc0RWV2ZDdTVrZGE5K1JuditL?= =?utf-8?B?c2Yrb3c2cU5odXdkc29kRGRIRTlhaGNxU0lMSVE3M01HSlhJdG43czdOQnpq?= =?utf-8?B?Y2l2UTBqSlFka1lSZ2d0QlpGRjIvQkFFaDdncXp6bHdYVjhkOGpkdWVXdVA3?= =?utf-8?B?Q3VwZis0RFk2ODM0TmdVdnluZEpNWkxZSU5NRkRCK1htVzh1amRNMGVFaVlS?= =?utf-8?B?UUxTbXlSS2hHR1NGSkVmeEZYVUd3ZzAxdmJtUVVvZTViVjBMcFZrbXBTdWc2?= =?utf-8?B?K3ZsQzFUelNQNkNPWjM3UEtjVXZ4cnZ1Vks1ZGd2SCs4RGJreGRQK0hveTBG?= =?utf-8?B?bTFKS0lOYUNvTzRkSzhhQ0xjanN3QTN4YWVRVUlCSnNSeFlHendOTUJVVnZZ?= =?utf-8?B?dkVYSExIUEtoM0hQOHAxME1SOFZJSUpjd3NzZjduTTU4MkN2b2tqcVU0aVNr?= =?utf-8?B?L1dnc09KOTRic2w0MzVHSjQ4bUhycW5LK1hzR1UxRm96K2xyKzJObEhUQm1y?= =?utf-8?B?U2g4WTMzclNuek90Nng3eEpWTkVFT21DdURkdUU2emFocDBLZmpob1JraDZK?= =?utf-8?B?b3lLK0pZbWFYVU14SnJUS1M5eUxnY3Q4TjRKZHV6QWsxR29QNThiaW8xTElz?= =?utf-8?B?K1hPTWg5K0RxWVlvNUlmOGU1Qld4WlZEdkFqbzA4elVBU2V4MkN3dWRlaWNx?= =?utf-8?B?Z1diejJKeThQVmhnN0hLbE5JVmw3SmVhN1V3eHZvT0Z3Q2FHa2cvSUl5VWNO?= =?utf-8?B?QjdjMTRvb2hkdm4ycjdDYWMxR3FRdTNHV0ViUnR1OWN6OVBsU2hZcDRvWWQ5?= =?utf-8?B?NHM0M3cyQktKSW1zRUxMank0Q0NsYU1lZndZVWdlUkEwMWI1bUpqeVZSbXpw?= =?utf-8?B?Uzh0cnc5a1BRQjN5NHIrM2xIVk5aUTNrUUE0Szc1MHZrVUFiMTIweklhQW1o?= =?utf-8?B?U0E2ZGhWRXpyUlZNSWFjd0oyNGNFS2NhanRxUDRoOVZyTjlRTmZ1dm5qT2pD?= =?utf-8?B?NFBjaW1rQ3JnTmJDSmpaMjAvdEtFUFk5enRpSjl1VFlraFRxVTNVM3h0akkz?= =?utf-8?B?cFRzN0ViWnJzdVZkcTExVEl6YUJ0U2t3b0ZIek1ibzhRUVpwQTJZbndVOUIz?= =?utf-8?B?Q0E9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 82a08655-6be0-445d-0dc9-08dc2e0608d7 X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7309.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2024 09:11:03.5326 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Bzb/3GzzjT2N8mNYuPgzl8bdVUfbIvKKmAHFQdaW84tzzKh7tjXZ0a39qR8UNYOWrCdJjAtjty7AsdQXX48tpn9hzEGYAeWhnUqf5AsYts8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR11MB5666 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Thu, Feb 15, 2024 at 10:08:40AM +0100, David Marchand wrote: > On Wed, Feb 14, 2024 at 2:07 PM Bruce Richardson > wrote: > > > > On Wed, Feb 14, 2024 at 01:12:19PM +0100, David Marchand wrote: > > > Reduce code duplication by providing a simple inline helper. > > > > > > Signed-off-by: David Marchand > > > --- > > > app/graph/utils.c | 13 ++------ > > > app/test-eventdev/parser.c | 14 ++++----- > > > app/test-eventdev/parser.h | 8 ----- > > > app/test-mldev/parser.c | 17 ++++++----- > > > app/test-mldev/parser.h | 8 ----- > > > app/test-pmd/cmdline_tm.c | 13 ++------ > > > app/test/test_string_fns.c | 35 ++++++++++++++++++++++ > > > examples/fips_validation/fips_validation.c | 16 +++------- > > > examples/ip_pipeline/parser.c | 14 ++++----- > > > examples/ip_pipeline/parser.h | 8 ----- > > > examples/pipeline/cli.c | 13 ++------ > > > lib/eal/include/rte_string_fns.h | 27 +++++++++++++++++ > > > 12 files changed, 98 insertions(+), 88 deletions(-) > > > > > > diff --git a/app/graph/utils.c b/app/graph/utils.c > > > index c7b6ae83cf..1f5ee68273 100644 > > > --- a/app/graph/utils.c > > > +++ b/app/graph/utils.c > > > @@ -9,17 +9,10 @@ > > > #include > > > > > > #include > > > +#include > > > > > > #include "module_api.h" > > > > > > -#define white_spaces_skip(pos) \ > > > -({ \ > > > - __typeof__(pos) _p = (pos); \ > > > - for ( ; isspace(*_p); _p++) \ > > > - ; \ > > > - _p; \ > > > -}) > > > - > > > static void > > > hex_string_to_uint64(uint64_t *dst, const char *hexs) > > > { > > > @@ -47,7 +40,7 @@ parser_uint64_read(uint64_t *value, const char *p) > > > char *next; > > > uint64_t val; > > > > > > - p = white_spaces_skip(p); > > > + p = rte_str_skip_whitespaces(p); > > > if (!isdigit(*p)) > > > return -EINVAL; > > > > > > @@ -73,7 +66,7 @@ parser_uint64_read(uint64_t *value, const char *p) > > > break; > > > } > > > > > > - p = white_spaces_skip(p); > > > + p = rte_str_skip_whitespaces(p); > > > > I like the idea of this. However, a question on naming. Do we want to make > > it clear in the name that it only skips leading whitespace, and doesn't > > e.g. trim whitespace off the end? How about: > > > > rte_str_skip_leading_spaces() > > > > It's longer, but I wonder if it's a bit clearer. > > It is clearer. > > > > > > Also, might it be worthwhile providing an "rte_str_ltrim()" function along > > with this, basically combining the skip_spaces call, with an memmove? Most > > string handling in DPDK is not perf-sensitive and so a function with > > similar name and behaviour to the python ltrim function may be appreciated > > for its simplicity. > > Well, most intree users won't touch the data (and simply pass around > const char * pointers). > This new API you propose is probably fine, but I suspect it won't be > of much use for now. > Ok, good point. I'd suggest otherwise just going with your patch, perhaps with the tweaked name. /Bruce