From nobody Sun Feb 8 11:40:24 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1554104028002329.3025628439974; Mon, 1 Apr 2019 00:33:48 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6543B30BC666; Mon, 1 Apr 2019 07:33:46 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4159560BFC; Mon, 1 Apr 2019 07:33:46 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id E2B143FA50; Mon, 1 Apr 2019 07:33:45 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x317XSbR013881 for ; Mon, 1 Apr 2019 03:33:28 -0400 Received: by smtp.corp.redhat.com (Postfix) id 75E3860BFC; Mon, 1 Apr 2019 07:33:28 +0000 (UTC) Received: from lpt.redhat.com (ovpn-204-90.brq.redhat.com [10.40.204.90]) by smtp.corp.redhat.com (Postfix) with ESMTP id D7A2F60BE6 for ; Mon, 1 Apr 2019 07:33:27 +0000 (UTC) From: =?UTF-8?q?J=C3=A1n=20Tomko?= To: libvir-list@redhat.com Date: Mon, 1 Apr 2019 09:33:25 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 08/14] virsh-completer: use VIR_AUTOSTRINGLIST for tmp X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Mon, 01 Apr 2019 07:33:47 +0000 (UTC) Now that every function uses virStringListFree, we can use the VIR_AUTOSTRINGLIST to have the compiler call this function automatically when 'tmp' goes out of scope. Signed-off-by: J=C3=A1n Tomko --- tools/virsh-completer.c | 63 ++++++++++++++--------------------------- 1 file changed, 21 insertions(+), 42 deletions(-) diff --git a/tools/virsh-completer.c b/tools/virsh-completer.c index 20b325c020..669eda0f84 100644 --- a/tools/virsh-completer.c +++ b/tools/virsh-completer.c @@ -79,7 +79,7 @@ virshDomainNameCompleter(vshControl *ctl, int ndomains =3D 0; size_t i =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(VIR_CONNECT_LIST_DOMAINS_ACTIVE | VIR_CONNECT_LIST_DOMAINS_INACTIVE | @@ -112,7 +112,6 @@ virshDomainNameCompleter(vshControl *ctl, for (i =3D 0; i < ndomains; i++) virshDomainFree(domains[i]); VIR_FREE(domains); - virStringListFree(tmp); return ret; =20 error: @@ -133,7 +132,7 @@ virshDomainInterfaceCompleter(vshControl *ctl, size_t i; unsigned int domainXMLFlags =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(VIRSH_DOMAIN_INTERFACE_COMPLETER_MAC, NULL); =20 @@ -171,7 +170,6 @@ virshDomainInterfaceCompleter(vshControl *ctl, VIR_FREE(interfaces); xmlFreeDoc(xmldoc); xmlXPathFreeContext(ctxt); - virStringListFree(tmp); return ret; } =20 @@ -187,7 +185,7 @@ virshDomainDiskTargetCompleter(vshControl *ctl, xmlNodePtr *disks =3D NULL; int ndisks; size_t i; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; char **ret =3D NULL; =20 virCheckFlags(0, NULL); @@ -216,7 +214,6 @@ virshDomainDiskTargetCompleter(vshControl *ctl, VIR_FREE(disks); xmlFreeDoc(xmldoc); xmlXPathFreeContext(ctxt); - virStringListFree(tmp); return ret; } =20 @@ -231,7 +228,7 @@ virshStoragePoolNameCompleter(vshControl *ctl, int npools =3D 0; size_t i =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(VIR_CONNECT_LIST_STORAGE_POOLS_INACTIVE | VIR_CONNECT_LIST_STORAGE_POOLS_ACTIVE | @@ -260,7 +257,6 @@ virshStoragePoolNameCompleter(vshControl *ctl, for (i =3D 0; i < npools; i++) virStoragePoolFree(pools[i]); VIR_FREE(pools); - virStringListFree(tmp); return ret; =20 error: @@ -280,7 +276,7 @@ virshStorageVolNameCompleter(vshControl *ctl, int nvols =3D 0; size_t i =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -311,7 +307,6 @@ virshStorageVolNameCompleter(vshControl *ctl, for (i =3D 0; i < nvols; i++) virStorageVolFree(vols[i]); VIR_FREE(vols); - virStringListFree(tmp); return ret; =20 error: @@ -329,7 +324,7 @@ virshInterfaceNameCompleter(vshControl *ctl, int nifaces =3D 0; size_t i =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(VIR_CONNECT_LIST_INTERFACES_ACTIVE | VIR_CONNECT_LIST_INTERFACES_INACTIVE, @@ -357,7 +352,6 @@ virshInterfaceNameCompleter(vshControl *ctl, for (i =3D 0; i < nifaces; i++) virInterfaceFree(ifaces[i]); VIR_FREE(ifaces); - virStringListFree(tmp); return ret; =20 error: @@ -375,7 +369,7 @@ virshNetworkNameCompleter(vshControl *ctl, int nnets =3D 0; size_t i =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(VIR_CONNECT_LIST_NETWORKS_INACTIVE | VIR_CONNECT_LIST_NETWORKS_ACTIVE | @@ -404,7 +398,6 @@ virshNetworkNameCompleter(vshControl *ctl, for (i =3D 0; i < nnets; i++) virNetworkFree(nets[i]); VIR_FREE(nets); - virStringListFree(tmp); return ret; =20 error: @@ -419,7 +412,7 @@ virshNetworkEventNameCompleter(vshControl *ctl ATTRIBUT= E_UNUSED, { size_t i =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -434,7 +427,6 @@ virshNetworkEventNameCompleter(vshControl *ctl ATTRIBUT= E_UNUSED, VIR_STEAL_PTR(ret, tmp); =20 cleanup: - virStringListFree(tmp); return ret; =20 error: @@ -452,7 +444,7 @@ virshNodeDeviceNameCompleter(vshControl *ctl, int ndevs =3D 0; size_t i =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -478,7 +470,6 @@ virshNodeDeviceNameCompleter(vshControl *ctl, for (i =3D 0; i < ndevs; i++) virNodeDeviceFree(devs[i]); VIR_FREE(devs); - virStringListFree(tmp); return ret; =20 error: @@ -496,7 +487,7 @@ virshNWFilterNameCompleter(vshControl *ctl, int nnwfilters =3D 0; size_t i =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -522,7 +513,6 @@ virshNWFilterNameCompleter(vshControl *ctl, for (i =3D 0; i < nnwfilters; i++) virNWFilterFree(nwfilters[i]); VIR_FREE(nwfilters); - virStringListFree(tmp); return ret; =20 error: @@ -540,7 +530,7 @@ virshNWFilterBindingNameCompleter(vshControl *ctl, int nbindings =3D 0; size_t i =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -566,7 +556,6 @@ virshNWFilterBindingNameCompleter(vshControl *ctl, for (i =3D 0; i < nbindings; i++) virNWFilterBindingFree(bindings[i]); VIR_FREE(bindings); - virStringListFree(tmp); return ret; =20 error: @@ -584,7 +573,7 @@ virshSecretUUIDCompleter(vshControl *ctl, int nsecrets =3D 0; size_t i =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -611,7 +600,6 @@ virshSecretUUIDCompleter(vshControl *ctl, for (i =3D 0; i < nsecrets; i++) virSecretFree(secrets[i]); VIR_FREE(secrets); - virStringListFree(tmp); return ret; =20 error: @@ -631,7 +619,7 @@ virshSnapshotNameCompleter(vshControl *ctl, int nsnapshots =3D 0; size_t i =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -662,7 +650,6 @@ virshSnapshotNameCompleter(vshControl *ctl, for (i =3D 0; i < nsnapshots; i++) virshDomainSnapshotFree(snapshots[i]); VIR_FREE(snapshots); - virStringListFree(tmp); return ret; =20 error: @@ -690,7 +677,7 @@ virshAllocpagesPagesizeCompleter(vshControl *ctl, char *cap_xml =3D NULL; char **ret =3D NULL; char *unit =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -744,7 +731,6 @@ virshAllocpagesPagesizeCompleter(vshControl *ctl, VIR_FREE(pagesize); VIR_FREE(cap_xml); VIR_FREE(unit); - virStringListFree(tmp); return ret; =20 error: @@ -759,7 +745,7 @@ virshSecretEventNameCompleter(vshControl *ctl ATTRIBUTE= _UNUSED, { size_t i; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -774,7 +760,6 @@ virshSecretEventNameCompleter(vshControl *ctl ATTRIBUTE= _UNUSED, VIR_STEAL_PTR(ret, tmp); =20 cleanup: - virStringListFree(tmp); return ret; =20 error: @@ -789,7 +774,7 @@ virshDomainEventNameCompleter(vshControl *ctl ATTRIBUTE= _UNUSED, { size_t i =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -804,7 +789,6 @@ virshDomainEventNameCompleter(vshControl *ctl ATTRIBUTE= _UNUSED, VIR_STEAL_PTR(ret, tmp); =20 cleanup: - virStringListFree(tmp); return ret; =20 error: @@ -819,7 +803,7 @@ virshPoolEventNameCompleter(vshControl *ctl ATTRIBUTE_U= NUSED, { size_t i =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -834,7 +818,6 @@ virshPoolEventNameCompleter(vshControl *ctl ATTRIBUTE_U= NUSED, VIR_STEAL_PTR(ret, tmp); =20 cleanup: - virStringListFree(tmp); return ret; =20 error: @@ -858,7 +841,7 @@ virshDomainInterfaceStateCompleter(vshControl *ctl, xmlNodePtr *interfaces =3D NULL; char *xpath =3D NULL; char *state =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -908,7 +891,6 @@ virshDomainInterfaceStateCompleter(vshControl *ctl, VIR_FREE(interfaces); xmlXPathFreeContext(ctxt); xmlFreeDoc(xml); - virStringListFree(tmp); return ret; =20 error: @@ -923,7 +905,7 @@ virshNodedevEventNameCompleter(vshControl *ctl ATTRIBUT= E_UNUSED, { size_t i =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -938,7 +920,6 @@ virshNodedevEventNameCompleter(vshControl *ctl ATTRIBUT= E_UNUSED, VIR_STEAL_PTR(ret, tmp); =20 cleanup: - virStringListFree(tmp); return ret; =20 error: @@ -959,7 +940,7 @@ virshCellnoCompleter(vshControl *ctl, size_t i =3D 0; char *cap_xml =3D NULL; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -991,7 +972,6 @@ virshCellnoCompleter(vshControl *ctl, VIR_FREE(cells); xmlFreeDoc(doc); VIR_FREE(cap_xml); - virStringListFree(tmp); return ret; =20 error: @@ -1012,7 +992,7 @@ virshDomainDeviceAliasCompleter(vshControl *ctl, size_t i; unsigned int domainXMLFlags =3D 0; char **ret =3D NULL; - char **tmp =3D NULL; + VIR_AUTOSTRINGLIST tmp =3D NULL; =20 virCheckFlags(0, NULL); =20 @@ -1042,6 +1022,5 @@ virshDomainDeviceAliasCompleter(vshControl *ctl, VIR_FREE(aliases); xmlFreeDoc(xmldoc); xmlXPathFreeContext(ctxt); - virStringListFree(tmp); return ret; } --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list