From nobody Fri Mar 29 12:01:29 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1678708664; cv=none; d=zohomail.com; s=zohoarc; b=XzkuBDyoCM0obvWY6N4jECtaNWYtW8PXPu+MnYTL3ze+33AqxnqaYsSXForHWsogWobMCcT4hI+fmG8lN4/kOS6aF/RfODm7WfC+0gCRonUQs/LsjFyfvyCuQZ8Z+2lPYztRyeHlquOhwg2wSzNHx4keQzRV5fuN+fmVWhqdNeQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1678708664; h=Content-Type:Content-Transfer-Encoding:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=TJ6d4h4IQaxmrSjTS4bEu191UaEU4P7a9CqB5ZIpXqw=; b=bmkVExvIb/gx2OzkUk55mEhfKCGcR15hTGFlv7qKQqzkTOTLyr3u/qsjePqvM82E9lBb01R4Ga63yLtZYMpvgl19Z76uSrnOhbGUCtSz3Z4c7uOk2+E0xFc7zcBSmwSEulefk7lEcXIThTNKZRHLq8N/pisWsB4nEagVRv0k6G4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1678708664431175.78584906029482; Mon, 13 Mar 2023 04:57:44 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-344-Q_98neZYNde7NSl2uab-9g-1; Mon, 13 Mar 2023 07:57:40 -0400 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5E06F877CA4; Mon, 13 Mar 2023 11:57:38 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id E4818492C13; Mon, 13 Mar 2023 11:57:35 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id B407C194658F; Mon, 13 Mar 2023 11:57:35 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 0AC5E1946588 for ; Mon, 13 Mar 2023 11:57:34 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id A80AB40C83AC; Mon, 13 Mar 2023 11:57:34 +0000 (UTC) Received: from localhost.localdomain (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 34B2640C83A9; Mon, 13 Mar 2023 11:57:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1678708663; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=TJ6d4h4IQaxmrSjTS4bEu191UaEU4P7a9CqB5ZIpXqw=; b=bxBsiX81yNBLv2kucqS0JpoXA+mAf6CVyBXPTEhBGXqtSakWJJAC5X11TdBSjaC3RD1hSZ eiRhyA784rrVNLT6oufxdlgF7iI/fScZvzf5U7fr29iW3GCJWmy/Tl/c5QBRjpZOJYnm6m YAiTVMc8ccG3TaFT4lH5X0DOVcZ5w2o= X-MC-Unique: Q_98neZYNde7NSl2uab-9g-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH] Use G_N_ELEMENTS() more Date: Mon, 13 Mar 2023 12:57:29 +0100 Message-Id: <64fc69a2123718df69fce5fce0e17548cc4ad31e.1678708649.git.mprivozn@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1678708665455100001 Content-Type: text/plain; charset="utf-8"; x-default="true" In a few places we still use the good old: sizeof(var) / sizeof(var[0]) sizeof(var) / sizeof(int) The G_N_ELEMENTS() macro is preferred though. In a few places we don't link with glib, so provide the macro definition. Signed-off-by: Michal Privoznik Reviewed-by: Kristina Hanicova --- examples/c/misc/openauth.c | 4 +++- src/libvirt.c | 2 +- tests/virbitmaptest.c | 4 ++-- tests/virnetdevtest.c | 8 ++++---- tools/nss/libvirt_nss.c | 3 ++- tools/virt-login-shell.c | 3 ++- 6 files changed, 14 insertions(+), 10 deletions(-) diff --git a/examples/c/misc/openauth.c b/examples/c/misc/openauth.c index 4c9dd34be3..9c6a1323c6 100644 --- a/examples/c/misc/openauth.c +++ b/examples/c/misc/openauth.c @@ -7,6 +7,8 @@ #include #include =20 +#define G_N_ELEMENTS(Array) (sizeof(Array) / sizeof(*(Array))) + static void showError(virConnectPtr conn) { @@ -205,7 +207,7 @@ static int credTypes[] =3D { /* The auth struct that will be passed to virConnectOpenAuth */ static virConnectAuth auth =3D { credTypes, - sizeof(credTypes) / sizeof(int), + G_N_ELEMENTS(credTypes), authCallback, NULL, /* cbdata will be initialized in main */ }; diff --git a/src/libvirt.c b/src/libvirt.c index 748f2d8ba0..fac074b73a 100644 --- a/src/libvirt.c +++ b/src/libvirt.c @@ -192,7 +192,7 @@ static int virConnectCredTypeDefault[] =3D { =20 static virConnectAuth virConnectAuthDefault =3D { virConnectCredTypeDefault, - sizeof(virConnectCredTypeDefault)/sizeof(int), + G_N_ELEMENTS(virConnectCredTypeDefault), virConnectAuthCallbackDefault, NULL, }; diff --git a/tests/virbitmaptest.c b/tests/virbitmaptest.c index 89dc702da2..f4fadb7c8a 100644 --- a/tests/virbitmaptest.c +++ b/tests/virbitmaptest.c @@ -271,7 +271,7 @@ test4c(const void *data G_GNUC_UNUSED) if (virBitmapNextSetBit(bitmap, i) !=3D -1) return -1; =20 - j =3D sizeof(bitsPos)/sizeof(int) - 1; + j =3D G_N_ELEMENTS(bitsPos) - 1; =20 if (virBitmapLastSetBit(bitmap) !=3D bitsPos[j]) return -1; @@ -328,7 +328,7 @@ test5(const void *v G_GNUC_UNUSED) =20 i =3D 0; j =3D -1; - while (i < sizeof(bits)/sizeof(int) && + while (i < G_N_ELEMENTS(bits) && (j =3D virBitmapNextSetBit(bitmap, j)) >=3D 0) { if (j !=3D bits[i++]) return -1; diff --git a/tests/virnetdevtest.c b/tests/virnetdevtest.c index aec84c6c35..42f1a74ee9 100644 --- a/tests/virnetdevtest.c +++ b/tests/virnetdevtest.c @@ -186,7 +186,7 @@ testVirNetDevSetVfMac(const void *opaque G_GNUC_UNUSED) .macaddr =3D { .addr =3D { 0, 0, 0, 7, 7, 7 } }, .allow_retry = =3D true, .rc =3D -EINVAL }, }; =20 - for (i =3D 0; i < sizeof(testCases) / sizeof(struct testCase); ++i) { + for (i =3D 0; i < G_N_ELEMENTS(testCases); ++i) { rc =3D virNetDevSetVfMac(testCases[i].ifname, testCases[i].vf_num, &testCases[i].macaddr, &testCases[i].allow_r= etry); if (rc !=3D testCases[i].rc) { @@ -252,14 +252,14 @@ testVirNetDevSetVfVlan(const void *opaque G_GNUC_UNUS= ED) { .ifname =3D "fakeiface-ok", .vf_num =3D 1, .rc =3D 0 }, }; =20 - for (i =3D 0; i < sizeof(testCases) / sizeof(struct testCase); ++i) { + for (i =3D 0; i < G_N_ELEMENTS(testCases); ++i) { rc =3D virNetDevSetVfVlan(testCases[i].ifname, testCases[i].vf_num,= &testCases[i].vlan_id); if (rc !=3D testCases[i].rc) { return -1; } } =20 - for (i =3D 0; i < sizeof(nullVLANTestCases) / sizeof(struct nullVlanTe= stCase); ++i) { + for (i =3D 0; i < G_N_ELEMENTS(nullVLANTestCases); ++i) { rc =3D virNetDevSetVfVlan(nullVLANTestCases[i].ifname, nullVLANTest= Cases[i].vf_num, NULL); if (rc !=3D nullVLANTestCases[i].rc) { return -1; @@ -292,7 +292,7 @@ testVirNetDevSetVfConfig(const void *opaque G_GNUC_UNUS= ED) { .ifname =3D "fakeiface-nomacerror-novlanerror", .rc =3D 0 }, }; =20 - for (i =3D 0; i < sizeof(testCases) / sizeof(struct testCase); ++i) { + for (i =3D 0; i < G_N_ELEMENTS(testCases); ++i) { rc =3D virNetDevSetVfConfig(testCases[i].ifname, vfNum, &mac, &vlan= id, allowRetry); if (rc !=3D testCases[i].rc) { return -1; diff --git a/tools/nss/libvirt_nss.c b/tools/nss/libvirt_nss.c index a6e8e4b12b..ec7763224b 100644 --- a/tools/nss/libvirt_nss.c +++ b/tools/nss/libvirt_nss.c @@ -53,6 +53,7 @@ =20 #define LIBVIRT_ALIGN(x) (((x) + __SIZEOF_POINTER__ - 1) & ~(__SIZEOF_POIN= TER__ - 1)) #define FAMILY_ADDRESS_SIZE(family) ((family) =3D=3D AF_INET6 ? 16 : 4) +#define G_N_ELEMENTS(Array) (sizeof(Array) / sizeof(*(Array))) =20 static int leaseAddressSorter(const void *a, @@ -595,7 +596,7 @@ nss_module_register(const char *name __attribute__((unu= sed)), unsigned int *size, nss_module_unregister_fn *unregister) { - *size =3D sizeof(methods) / sizeof(methods[0]); + *size =3D G_N_ELEMENTS(methods); *unregister =3D NULL; return methods; } diff --git a/tools/virt-login-shell.c b/tools/virt-login-shell.c index 25449f972d..8a67e2223c 100644 --- a/tools/virt-login-shell.c +++ b/tools/virt-login-shell.c @@ -30,6 +30,7 @@ =20 #include "configmake.h" =20 +#define G_N_ELEMENTS(Array) (sizeof(Array) / sizeof(*(Array))) #define VIR_INT64_STR_BUFLEN 21 =20 int main(int argc, char **argv) { @@ -69,7 +70,7 @@ int main(int argc, char **argv) { newargv[nargs++] =3D gidstr; newargv[nargs++] =3D NULL; =20 - assert(nargs <=3D (sizeof(newargv)/sizeof(newargv[0]))); + assert(nargs <=3D G_N_ELEMENTS(newargv)); =20 if (term && asprintf(&(newenv[0]), "TERM=3D%s", term) < 0) { --=20 2.39.2