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 6FADC41C41; Wed, 8 Feb 2023 16:05:57 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0A1164014F; Wed, 8 Feb 2023 16:05:57 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id BECCB40141 for ; Wed, 8 Feb 2023 16:05:55 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675868756; x=1707404756; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=AR8+fEmWfWah1Tq3QG9ZKLTWIMI4BrgeXbGvahRQf5U=; b=Co/GOCu4r0OCxTac2sTIDPoAVoJkfQ08RLmFlpxIcAjyIpaJliBOL6wV kNoMvs0nwEv9/FaJlodelWxMRgfWx6YbqTojLjW+tWYWntP4rWbyoDvaJ xxKnntKJb0Fj+LE5bixTtUZ8413670NXNnc5+YbnTztwUZMdLmPDTXkMV DQTrhZj/6fDSWCLWkG6EZIJbtiAdk8XKqZPkR2z9O4K4NBHvMdzGI93dk p1RTOvwYf4JknYs1yynNjP+JOp1IefynPy2b2o83odHcI2MuH2Kx6BbLD N78WcznvRgJpUyWRQXJPNJnWo4P2kvN09L+de6DUhdAM+hwL95kZ+fYt+ w==; X-IronPort-AV: E=McAfee;i="6500,9779,10615"; a="416039775" X-IronPort-AV: E=Sophos;i="5.97,281,1669104000"; d="scan'208";a="416039775" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Feb 2023 07:05:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10615"; a="669221184" X-IronPort-AV: E=Sophos;i="5.97,281,1669104000"; d="scan'208";a="669221184" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga007.fm.intel.com with ESMTP; 08 Feb 2023 07:05:09 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Wed, 8 Feb 2023 07:05:09 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.16; Wed, 8 Feb 2023 07:05:08 -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.16 via Frontend Transport; Wed, 8 Feb 2023 07:05:08 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.175) 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.16; Wed, 8 Feb 2023 07:05:08 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O2gP4LKHqDJWtmeIReHVRURyTsqx9RoORdE39d8cY2LXxO0lrNcqo8NZlQIslsRxC7/i9/Y+vGJUuMfgc5jXIuwE2d0IGwlsIBN00xazfk4dsLyPm1ZQ9a+iwXB4H+MX2g8qFPluH2bxxBHqVB46I8RalLRKCR0NRR0KawH5qiMYG+9OyPE4UqryR2wSthez/6eaPROlOP2SSP4PHxzYl7joxQmRlO9FtJMy2UQpW+uW6Pb0Ebt6RXot67f6uqsmd9Uimjgc/Xd3bPW3KduwK0qN7kIaW52a/kQn6K9MrvVR2HlGCSM5v1Gcr2bc1MpjrB+7ow7NSuaRyQf5wgwhrw== 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=x3QfSMZnjUR2wxCL1tFsR6HBJDrii4/D6AQdE96TS4o=; b=W71xJyiyHWdX5T4Qew6RAMGqlXrlN3ISbbMYmNToV8aGf+Ia6PII5KYkDiF76ms15BOPm1QJzeqvKBTo2LvGVHFbQlvomeTACiTBMB/ZVwqXzpRoU1LZfHQm/P8PBjK9dOlAlMQ31Nud4s1uj/0fDv0XtczN63IKKwnoflTxxibjDboAeuQ1kc5gEevTX4/PAS7pYGCra9aA41xV0icp42qenokGXSaJRaVAP2i1kPrNUkREVqobYCSLbeoxp5LB1eDZ0aaCKM+keydSPlSpqmBavUeEYOiD4+uHIJn68Dw+jI72wQCppTYMCs13viRTbIWuHRdgyV26Bvg6mv9LoQ== 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 Received: from DM6PR11MB4593.namprd11.prod.outlook.com (2603:10b6:5:2a3::8) by DS0PR11MB6325.namprd11.prod.outlook.com (2603:10b6:8:cf::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.25; Wed, 8 Feb 2023 15:05:07 +0000 Received: from DM6PR11MB4593.namprd11.prod.outlook.com ([fe80::cf02:55c7:23dc:8dc4]) by DM6PR11MB4593.namprd11.prod.outlook.com ([fe80::cf02:55c7:23dc:8dc4%9]) with mapi id 15.20.6086.017; Wed, 8 Feb 2023 15:05:07 +0000 From: "Wiles, Keith" To: "Richardson, Bruce" , "dev@dpdk.org" CC: Huisong Li , Chengwen Feng , =?iso-8859-1?Q?Morten_Br=F8rup?= Subject: Re: [PATCH] telemetry: rework code to avoid compiler warnings Thread-Topic: [PATCH] telemetry: rework code to avoid compiler warnings Thread-Index: AQHZO8sWEJK8udZm30qcLng0YNc+WK7FJPMj Date: Wed, 8 Feb 2023 15:05:07 +0000 Message-ID: References: <20230208143742.493533-1-bruce.richardson@intel.com> In-Reply-To: <20230208143742.493533-1-bruce.richardson@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR11MB4593:EE_|DS0PR11MB6325:EE_ x-ms-office365-filtering-correlation-id: 15828d0e-2ea2-42d7-e19f-08db09e5dda8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: r/dvTkLgtThTFwGKOrmVY6+FMJrizHZj3dSj6bzhayDhoCLXVkFOFOi9rSMuv0qFnGImA5XqldqdT+5JRrqFyIQ0/Yox0anndGfcQsq42aRDQz2CluVcDTbmj9GYwl++tIY/K2ghfkVdvNifJN41TjqgGsZPAwdTWserv54GdC5wDXL0YZMFEKU1+Pomp+01GNyhD4qFCUIYzPW1MaGn8COyAx4RQ2SIMcRQtle9aeHwHZlgvgc++aGWAFj+57aGzOUFfoCzF3iTak8EL27ShkbNF74vKKLvCcfvs+tl8IpPHrrIkL7fKB8LRXkBNFGfRrnjXNeWkmEwXRqOkg2Jq27XU+w6E4KBZSREEqt4DUNlfFrekp3Tf4EyesCuO9fjdzuFSsDGA9X/zf33bIsyZYNAXmaK6cx5aqjhcxW9dD6vAj+B3KIqHxaKQXoRHhm0yBD6njek7hFg9BVmK7alamEfkJpmNXbKIiQqzQO4HmpKzoKleACBIm1YrFYhUXzX9fQEeFFHjpcQckb5LuDirLZluiynuafZqWgxgfje7379JlZbANdQnJboEBgLAZJxcJVQsFk0l5CO2C0orNw9Fy6/ygWlLDa4cmpdxL/tNjtKEIAlE7EvtZ8wIsW/fewJyChkLN0L3lqeLul5WmsGkSAjKqxdDO2tD48pnmA3gTvu4bOpFYIiIsoag5QMFH03WHCiI8PoJQaoHZxkZ+T9AA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB4593.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(376002)(346002)(396003)(39860400002)(366004)(136003)(451199018)(82960400001)(41300700001)(76116006)(66556008)(316002)(26005)(38100700002)(53546011)(186003)(6506007)(54906003)(110136005)(38070700005)(9686003)(55016003)(86362001)(478600001)(71200400001)(7696005)(33656002)(66446008)(64756008)(66476007)(8676002)(91956017)(4326008)(66946007)(8936002)(5660300002)(66574015)(122000001)(52536014)(83380400001)(2906002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?s7NKsK6R0csdR2Pn4HtjjG3IIFIFPKCoLBYUJUtUoxoJQOMDLdURPIy2TT?= =?iso-8859-1?Q?hvxXihmFhPKpHQz1yty70+PUACt9LpOftRXHy2M18bHw0BUx5EDBqMQ4kt?= =?iso-8859-1?Q?txcU559eL25LezSbObJCSz/pUsyvnHFx6q9lG7Lf3gftd+pwEekjJsWCJZ?= =?iso-8859-1?Q?o+JSp4+tIDE1ZKB+h1/4QUxgBPqn4jK34QsS9r924FYGSmfhq6hCuqw+1i?= =?iso-8859-1?Q?KdQ7zFjpIOt8GkSghZRJ/ykyX5lTf45byAmHgXSqzHeeXHWJU9ALoZApAM?= =?iso-8859-1?Q?0hPBTby7CK4AM3/Zb+lztd+V08E+2PYVscTGjFqqkT+BZDl1giz4wmeHxd?= =?iso-8859-1?Q?aFdaTufQgtDnNHLVfReMf7R3VrJUj8f76P/zjv7jPtV504EVgPZJ+GFuRk?= =?iso-8859-1?Q?22WkblnZxpCMrOihu9wtRK5w1d5Xs8EGgoMzMay19gUY6zUuqsL1qtB6+q?= =?iso-8859-1?Q?GqmoFlwL9la4Vva5bgVvO8Euc+b+1a44ksDXHio0UCX+H71xQQ3C1jx1Ts?= =?iso-8859-1?Q?U2ekTdOdtCIsnchRucuGn3tNQKaiPcO5pHI/dfSK5QrHsHGevRDs9KVMrl?= =?iso-8859-1?Q?PN+IW9bJggmRpsScXb0fT3PrG9AFXaUUtvBy4IEZRyyzbH16nxTL04NT4E?= =?iso-8859-1?Q?PQxcC1aOn4nYmhitAaTbb8GBILo+srQ1fx9MgESVO6+NHgCVAACoo+iSyf?= =?iso-8859-1?Q?AcAbvaquPUtiIb3hBJyBT9uj/rmdHAr3ni/ImIZPkQwutq1OmBgZ+hQf+2?= =?iso-8859-1?Q?vq0vZCGkMazgC4fOB/z74NT8lxOGtyHVodAhCV7blmBcMOA50FXrJRb/Fk?= =?iso-8859-1?Q?mwpbZh96ZffchJ0P1DAoU2EKJjSk5tof7aSTKIcCF+J5oN28PqpIOzB7Wg?= =?iso-8859-1?Q?d+Y94ozuwMSTzo6AeTIP7ZuGQGL0o4NrZ7lRjnt68IW7e8X8CpZZXurh16?= =?iso-8859-1?Q?js9AzuqlxXHd3ktVZiDEhp3g1/naIjyyHbb2dWKybzMZxMVLF11ImDXfje?= =?iso-8859-1?Q?O3rL6HJN7ykF9BsYJ1hhH7HKeuRS7AOVfoclcauthz4PUPRjLQnvowtRpp?= =?iso-8859-1?Q?KtOiP3+SNTSpN654JH47KItwG4LSOGISgPSjiamMcJnfRPCc5yi0ldSxjB?= =?iso-8859-1?Q?dtc0JikSu+ZHJZM5wds78YfMoO6NtwhixaZpivZ0WQ0fcumlgkMd3Q5yEP?= =?iso-8859-1?Q?Z1CFOdSjB7ZTH0yPK8PMN2pFNMNte8x+U7z9hZJDpZuaMgxLEM0ysbh+47?= =?iso-8859-1?Q?UrREniwj9pQWTKEvHR8vTYXUhBalHU5zzMUC6FY+RpbjcFIC1sHjQBt+0s?= =?iso-8859-1?Q?bdUNXkxgK3CdK1dYRCG1DWUjAbrii8VadXtK4KZNr8R1Xu06k64GVLSqHt?= =?iso-8859-1?Q?KgxhejyGkZWEbEOmsbKH/e4+bu0pw/DwkVA7AIlPg7izjkcBik3biR7JjI?= =?iso-8859-1?Q?piTn5SNFBnKd99mIjDC3KDIYqXefmAt7n8VsVsMtIhamfdgYCJSuqAqEqk?= =?iso-8859-1?Q?qAqpQh8R2U2c5E++SHWeT3yU7Oxu4GuRyAx+2GgHclz/WajbKzvNs0hHrp?= =?iso-8859-1?Q?nw73PCeDd6DyVVY77TiV43qoL//l8o3zo1i7YzfEk6vF83UctLgJRS0RFP?= =?iso-8859-1?Q?Fzb/+3i3ic/vRMkejf44gq9SqAqpycVfyb?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4593.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 15828d0e-2ea2-42d7-e19f-08db09e5dda8 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Feb 2023 15:05:07.3581 (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: E68TZctKO9SGWy4EL5yqRCzpJXvKDpLheN1vwRkao74506SgtUEPCtihDm6o7tvBhE2xMwVsGxv5gON9JO4zNg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB6325 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 From: Bruce Richardson =0A= Sent: Wednesday, February 8, 2023 8:37 AM=0A= To: dev@dpdk.org=0A= Cc: Huisong Li; Chengwen Feng; Morten Br=F8rup; Richardson, Bruce=0A= Subject: [PATCH] telemetry: rework code to avoid compiler warnings=0A= =0A= When printing values as hex strings, the telemetry code temporarily=0A= disabled warnings about non-literal format strings. This was because the=0A= actual format string was built-up programmatically to ensure the output=0A= was of the desired bitwidth.=0A= =0A= However, this code can be reworked and shortened by taking advantage of=0A= the "*" printf flag, which is used to specify that the output width is=0A= given by a separate printf parameter. This allows the format to be a=0A= literal string in all cases, and also allows the code in the function to=0A= be shortened considerably.=0A= =0A= Note: the type of the width should be an "int" variable, which is why=0A= this patch changes the type of the existing variable. Also, while we=0A= could shorten the format string by using the "#" flag in place of an=0A= explicit "0x", this would make the code more confusing because it would=0A= mean that the "0x" would be included in the specified with, forcing us=0A= to add 2 to the existing computed width.=0A= =0A= Signed-off-by: Bruce Richardson =0A= ---=0A= lib/telemetry/telemetry_data.c | 38 +++++++---------------------------=0A= 1 file changed, 7 insertions(+), 31 deletions(-)=0A= =0A= diff --git a/lib/telemetry/telemetry_data.c b/lib/telemetry/telemetry_data.= c=0A= index eb3cb98176..2bac2de2c2 100644=0A= --- a/lib/telemetry/telemetry_data.c=0A= +++ b/lib/telemetry/telemetry_data.c=0A= @@ -119,45 +119,21 @@ rte_tel_data_add_array_container(struct rte_tel_data = *d,=0A= return 0;=0A= }=0A= =0A= -/* To suppress compiler warning about format string. */=0A= -#if defined(RTE_TOOLCHAIN_GCC)=0A= -#pragma GCC diagnostic push=0A= -#pragma GCC diagnostic ignored "-Wformat-nonliteral"=0A= -#elif defined(RTE_TOOLCHAIN_CLANG)=0A= -#pragma clang diagnostic push=0A= -#pragma clang diagnostic ignored "-Wformat-nonliteral"=0A= -#endif=0A= -=0A= static int=0A= rte_tel_uint_to_hex_encoded_str(char *buf, size_t buf_len, uint64_t val,= =0A= uint8_t display_bitwidth)=0A= {=0A= -#define RTE_TEL_HEX_FORMAT_LEN 16=0A= -=0A= - uint8_t spec_hex_width =3D (display_bitwidth + 3) / 4;=0A= - char format[RTE_TEL_HEX_FORMAT_LEN];=0A= -=0A= - if (display_bitwidth !=3D 0) {=0A= - if (snprintf(format, RTE_TEL_HEX_FORMAT_LEN, "0x%%0%u" PRIx= 64,=0A= - spec_hex_width) >=3D RTE_TEL_HEX_FORMAT_LEN= )=0A= - return -EINVAL;=0A= + int spec_hex_width =3D (display_bitwidth + 3) / 4;=0A= + int len;=0A= =0A= - if (snprintf(buf, buf_len, format, val) >=3D (int)buf_len)= =0A= - return -EINVAL;=0A= - } else {=0A= - if (snprintf(buf, buf_len, "0x%" PRIx64, val) >=3D (int)buf= _len)=0A= - return -EINVAL;=0A= - }=0A= + if (display_bitwidth !=3D 0)=0A= + len =3D snprintf(buf, buf_len, "0x%0*" PRIx64, spec_hex_wid= th, val);=0A= + else=0A= + len =3D snprintf(buf, buf_len, "0x%" PRIx64, val);=0A= =0A= - return 0;=0A= + return len < (int)buf_len ? 0 : -EINVAL;=0A= }=0A= =0A= -#if defined(RTE_TOOLCHAIN_GCC)=0A= -#pragma GCC diagnostic pop=0A= -#elif defined(RTE_TOOLCHAIN_CLANG)=0A= -#pragma clang diagnostic pop=0A= -#endif=0A= -=0A= int=0A= rte_tel_data_add_array_uint_hex(struct rte_tel_data *d, uint64_t val,=0A= uint8_t display_bitwidth)=0A= --=0A= 2.37.2=0A= =0A= Acked-by: Keith Wiles =0A= =0A=