From nobody Sat Apr 27 17:55:49 2024 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 1551891255291892.8671732919313; Wed, 6 Mar 2019 08:54:15 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2C832C0528D8; Wed, 6 Mar 2019 16:54:13 +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 0043160DB4; Wed, 6 Mar 2019 16:54:12 +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 7170841F3E; Wed, 6 Mar 2019 16:54:12 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x26Gs9uE030383 for ; Wed, 6 Mar 2019 11:54:09 -0500 Received: by smtp.corp.redhat.com (Postfix) id DE72D5D71A; Wed, 6 Mar 2019 16:54:09 +0000 (UTC) Received: from kinshicho.brq.redhat.com (unknown [10.43.2.212]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3A87C5D783 for ; Wed, 6 Mar 2019 16:54:09 +0000 (UTC) From: Andrea Bolognani To: libvir-list@redhat.com Date: Wed, 6 Mar 2019 17:54:00 +0100 Message-Id: <20190306165404.11152-2-abologna@redhat.com> In-Reply-To: <20190306165404.11152-1-abologna@redhat.com> References: <20190306165404.11152-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 1/5] util: Rename virFileHasSuffix() to virStringHasCaseSuffix() 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-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.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Wed, 06 Mar 2019 16:54:13 +0000 (UTC) Content-Type: text/plain; charset="utf-8" Despite its name, this is really just a general-purpose string manipulation function, so it should be moved to the virstring module and renamed accordingly. In addition to the obvious s/File/String/, also tweak the name to make it clear that the presence of the suffix is verified using case-insensitive comparison. A few trivial whitespace changes are squashed in. Signed-off-by: Andrea Bolognani --- src/conf/virsecretobj.c | 2 +- src/conf/virstorageobj.c | 2 +- src/esx/esx_driver.c | 2 +- src/esx/esx_storage_backend_vmfs.c | 4 ++-- src/libvirt_private.syms | 2 +- src/util/virfile.c | 13 ------------- src/util/virfile.h | 3 --- src/util/virstoragefile.c | 2 +- src/util/virstring.c | 12 ++++++++++++ src/util/virstring.h | 3 +++ src/vmware/vmware_conf.c | 2 +- src/vmx/vmx.c | 12 ++++++------ tests/testutils.c | 4 ++-- tests/virschematest.c | 4 ++-- tools/nss/libvirt_nss.c | 4 ++-- 15 files changed, 35 insertions(+), 36 deletions(-) diff --git a/src/conf/virsecretobj.c b/src/conf/virsecretobj.c index 8b418d5e66..5cd36b8a40 100644 --- a/src/conf/virsecretobj.c +++ b/src/conf/virsecretobj.c @@ -949,7 +949,7 @@ virSecretLoadAllConfigs(virSecretObjListPtr secrets, char *path; virSecretObjPtr obj; =20 - if (!virFileHasSuffix(de->d_name, ".xml")) + if (!virStringHasCaseSuffix(de->d_name, ".xml")) continue; =20 if (!(path =3D virFileBuildPath(configDir, de->d_name, NULL))) diff --git a/src/conf/virstorageobj.c b/src/conf/virstorageobj.c index 2286857acf..68c89bd9a9 100644 --- a/src/conf/virstorageobj.c +++ b/src/conf/virstorageobj.c @@ -1719,7 +1719,7 @@ virStoragePoolObjLoadAllConfigs(virStoragePoolObjList= Ptr pools, char *autostartLink; virStoragePoolObjPtr obj; =20 - if (!virFileHasSuffix(entry->d_name, ".xml")) + if (!virStringHasCaseSuffix(entry->d_name, ".xml")) continue; =20 if (!(path =3D virFileBuildPath(configDir, entry->d_name, NULL))) diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c index 379c2bae73..afebd78566 100644 --- a/src/esx/esx_driver.c +++ b/src/esx/esx_driver.c @@ -3078,7 +3078,7 @@ esxDomainDefineXMLFlags(virConnectPtr conn, const cha= r *xml, unsigned int flags) goto cleanup; } =20 - if (! virFileHasSuffix(src, ".vmdk")) { + if (!virStringHasCaseSuffix(src, ".vmdk")) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Expecting source '%s' of first file-based harddi= sk to " "be a VMDK image"), src); diff --git a/src/esx/esx_storage_backend_vmfs.c b/src/esx/esx_storage_backe= nd_vmfs.c index 6d6bd1a6ce..c56f887c25 100644 --- a/src/esx/esx_storage_backend_vmfs.c +++ b/src/esx/esx_storage_backend_vmfs.c @@ -884,7 +884,7 @@ esxStorageVolCreateXML(virStoragePoolPtr pool, goto cleanup; } =20 - if (! virFileHasSuffix(def->name, ".vmdk")) { + if (!virStringHasCaseSuffix(def->name, ".vmdk")) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Volume name '%s' has unsupported suffix, " "expecting '.vmdk'"), def->name); @@ -1104,7 +1104,7 @@ esxStorageVolCreateXMLFrom(virStoragePoolPtr pool, goto cleanup; } =20 - if (! virFileHasSuffix(def->name, ".vmdk")) { + if (!virStringHasCaseSuffix(def->name, ".vmdk")) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Volume name '%s' has unsupported suffix, " "expecting '.vmdk'"), def->name); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 69643732e0..e4ed1def33 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1834,7 +1834,6 @@ virFileGetHugepageSize; virFileGetMountReverseSubtree; virFileGetMountSubtree; virFileGetXAttr; -virFileHasSuffix; virFileInData; virFileIsAbsPath; virFileIsCDROM; @@ -2958,6 +2957,7 @@ virStrdup; virStringBufferIsPrintable; virStringEncodeBase64; virStringFilterChars; +virStringHasCaseSuffix; virStringHasChars; virStringHasControlChars; virStringIsEmpty; diff --git a/src/util/virfile.c b/src/util/virfile.c index 9208523c47..21f7dc1ac3 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -1543,19 +1543,6 @@ virFileMatchesNameSuffix(const char *file, return 0; } =20 -int -virFileHasSuffix(const char *str, - const char *suffix) -{ - int len =3D strlen(str); - int suffixlen =3D strlen(suffix); - - if (len < suffixlen) - return 0; - - return STRCASEEQ(str + len - suffixlen, suffix); -} - #define SAME_INODE(Stat_buf_1, Stat_buf_2) \ ((Stat_buf_1).st_ino =3D=3D (Stat_buf_2).st_ino \ && (Stat_buf_1).st_dev =3D=3D (Stat_buf_2).st_dev) diff --git a/src/util/virfile.h b/src/util/virfile.h index 0b946fe1ca..5a43d57181 100644 --- a/src/util/virfile.h +++ b/src/util/virfile.h @@ -166,9 +166,6 @@ int virFileMatchesNameSuffix(const char *file, const char *name, const char *suffix); =20 -int virFileHasSuffix(const char *str, - const char *suffix); - int virFileStripSuffix(char *str, const char *suffix) ATTRIBUTE_RETURN_CHECK; =20 diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c index 233278e879..50ee9b574c 100644 --- a/src/util/virstoragefile.c +++ b/src/util/virstoragefile.c @@ -725,7 +725,7 @@ virStorageFileMatchesExtension(const char *extension, if (extension =3D=3D NULL) return false; =20 - if (virFileHasSuffix(path, extension)) + if (virStringHasCaseSuffix(path, extension)) return true; =20 return false; diff --git a/src/util/virstring.c b/src/util/virstring.c index 8a791f96d4..399b9468e6 100644 --- a/src/util/virstring.c +++ b/src/util/virstring.c @@ -1235,6 +1235,18 @@ virStringReplace(const char *haystack, return virBufferContentAndReset(&buf); } =20 +int +virStringHasCaseSuffix(const char *str, + const char *suffix) +{ + int len =3D strlen(str); + int suffixlen =3D strlen(suffix); + + if (len < suffixlen) + return 0; + + return STRCASEEQ(str + len - suffixlen, suffix); +} =20 /** * virStringStripIPv6Brackets: diff --git a/src/util/virstring.h b/src/util/virstring.h index f2e72936c8..b2ba97a8d1 100644 --- a/src/util/virstring.h +++ b/src/util/virstring.h @@ -288,6 +288,9 @@ char *virStringReplace(const char *haystack, const char *newneedle) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); =20 +int virStringHasCaseSuffix(const char *str, + const char *suffix); + void virStringStripIPv6Brackets(char *str); bool virStringHasChars(const char *str, const char *chars); diff --git a/src/vmware/vmware_conf.c b/src/vmware/vmware_conf.c index 21559da4a4..0c1b1f9550 100644 --- a/src/vmware/vmware_conf.c +++ b/src/vmware/vmware_conf.c @@ -434,7 +434,7 @@ vmwareVmxPath(virDomainDefPtr vmdef, char **vmxPath) if (vmwareParsePath(src, &directoryName, &fileName) < 0) goto cleanup; =20 - if (!virFileHasSuffix(fileName, ".vmdk")) { + if (!virStringHasCaseSuffix(fileName, ".vmdk")) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Expecting source '%s' of first file-based harddi= sk " "to be a VMDK image"), src); diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index 75cdea9067..bbf8e55c3f 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -1600,7 +1600,7 @@ virVMXParseConfig(virVMXContext *ctx, if (virVMXGetConfigString(conf, "guestOS", &guestOS, true) < 0) goto cleanup; =20 - if (guestOS !=3D NULL && virFileHasSuffix(guestOS, "-64")) { + if (guestOS !=3D NULL && virStringHasCaseSuffix(guestOS, "-64")) { def->os.arch =3D VIR_ARCH_X86_64; } else { def->os.arch =3D VIR_ARCH_I686; @@ -2218,7 +2218,7 @@ virVMXParseDisk(virVMXContext *ctx, virDomainXMLOptio= nPtr xmlopt, virConfPtr con =20 /* Setup virDomainDiskDef */ if (device =3D=3D VIR_DOMAIN_DISK_DEVICE_DISK) { - if (virFileHasSuffix(fileName, ".vmdk")) { + if (virStringHasCaseSuffix(fileName, ".vmdk")) { char *tmp; =20 if (deviceType !=3D NULL) { @@ -2254,7 +2254,7 @@ virVMXParseDisk(virVMXContext *ctx, virDomainXMLOptio= nPtr xmlopt, virConfPtr con if (mode) (*def)->transient =3D STRCASEEQ(mode, "independent-nonpersistent"); - } else if (virFileHasSuffix(fileName, ".iso") || + } else if (virStringHasCaseSuffix(fileName, ".iso") || STREQ(fileName, "emptyBackingString") || (deviceType && (STRCASEEQ(deviceType, "atapi-cdrom") || @@ -2277,7 +2277,7 @@ virVMXParseDisk(virVMXContext *ctx, virDomainXMLOptio= nPtr xmlopt, virConfPtr con goto cleanup; } } else if (device =3D=3D VIR_DOMAIN_DISK_DEVICE_CDROM) { - if (virFileHasSuffix(fileName, ".iso")) { + if (virStringHasCaseSuffix(fileName, ".iso")) { char *tmp; =20 if (deviceType && STRCASENEQ(deviceType, "cdrom-image")) { @@ -2295,7 +2295,7 @@ virVMXParseDisk(virVMXContext *ctx, virDomainXMLOptio= nPtr xmlopt, virConfPtr con goto cleanup; } VIR_FREE(tmp); - } else if (virFileHasSuffix(fileName, ".vmdk")) { + } else if (virStringHasCaseSuffix(fileName, ".vmdk")) { /* * This function was called in order to parse a CDROM device, = but * .vmdk files are for harddisk devices only. Just ignore it, @@ -3585,7 +3585,7 @@ virVMXFormatDisk(virVMXContext *ctx, virDomainDiskDef= Ptr def, const char *src =3D virDomainDiskGetSource(def); =20 if (src) { - if (!virFileHasSuffix(src, fileExt)) { + if (!virStringHasCaseSuffix(src, fileExt)) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Image file for %s %s '%s' has " "unsupported suffix, expecting '%s'"), diff --git a/tests/testutils.c b/tests/testutils.c index 13bb9630df..cfdf122ae0 100644 --- a/tests/testutils.c +++ b/tests/testutils.c @@ -525,8 +525,8 @@ virTestRewrapFile(const char *filename) char *script =3D NULL; virCommandPtr cmd =3D NULL; =20 - if (!(virFileHasSuffix(filename, ".args") || - virFileHasSuffix(filename, ".ldargs"))) + if (!(virStringHasCaseSuffix(filename, ".args") || + virStringHasCaseSuffix(filename, ".ldargs"))) return 0; =20 if (!perl) { diff --git a/tests/virschematest.c b/tests/virschematest.c index d1bcdeac9c..46c67760a7 100644 --- a/tests/virschematest.c +++ b/tests/virschematest.c @@ -41,7 +41,7 @@ static int testSchemaFile(const void *args) { const struct testSchemaData *data =3D args; - bool shouldFail =3D virFileHasSuffix(data->xml_path, "-invalid.xml"); + bool shouldFail =3D virStringHasCaseSuffix(data->xml_path, "-invalid.x= ml"); xmlDocPtr xml =3D NULL; int ret =3D -1; =20 @@ -82,7 +82,7 @@ testSchemaDir(const char *schema, return -1; =20 while ((rc =3D virDirRead(dir, &ent, dir_path)) > 0) { - if (!virFileHasSuffix(ent->d_name, ".xml")) + if (!virStringHasCaseSuffix(ent->d_name, ".xml")) continue; if (ent->d_name[0] =3D=3D '.') continue; diff --git a/tools/nss/libvirt_nss.c b/tools/nss/libvirt_nss.c index 46d051c08c..4d86f8e6ce 100644 --- a/tools/nss/libvirt_nss.c +++ b/tools/nss/libvirt_nss.c @@ -274,7 +274,7 @@ findLease(const char *name, while ((ret =3D virDirRead(dir, &entry, leaseDir)) > 0) { char *path; =20 - if (virFileHasSuffix(entry->d_name, ".status")) { + if (virStringHasCaseSuffix(entry->d_name, ".status")) { if (!(path =3D virFileBuildPath(leaseDir, entry->d_name, NULL)= )) goto cleanup; =20 @@ -285,7 +285,7 @@ findLease(const char *name, goto cleanup; } VIR_FREE(path); - } else if (virFileHasSuffix(entry->d_name, ".macs")) { + } else if (virStringHasCaseSuffix(entry->d_name, ".macs")) { if (!(path =3D virFileBuildPath(leaseDir, entry->d_name, NULL)= )) goto cleanup; =20 --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sat Apr 27 17:55:49 2024 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 1551891255250750.4050310047903; Wed, 6 Mar 2019 08:54:15 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 289B9155E0; Wed, 6 Mar 2019 16:54:13 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id F1B325D786; Wed, 6 Mar 2019 16:54:12 +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 8654D181A135; Wed, 6 Mar 2019 16:54:12 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x26GsA7p030393 for ; Wed, 6 Mar 2019 11:54:10 -0500 Received: by smtp.corp.redhat.com (Postfix) id B60335D783; Wed, 6 Mar 2019 16:54:10 +0000 (UTC) Received: from kinshicho.brq.redhat.com (unknown [10.43.2.212]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3AFA25D71A for ; Wed, 6 Mar 2019 16:54:10 +0000 (UTC) From: Andrea Bolognani To: libvir-list@redhat.com Date: Wed, 6 Mar 2019 17:54:01 +0100 Message-Id: <20190306165404.11152-3-abologna@redhat.com> In-Reply-To: <20190306165404.11152-1-abologna@redhat.com> References: <20190306165404.11152-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 2/5] util: Rename virFileStripSuffix() to virStringStripSuffix() 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-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.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Wed, 06 Mar 2019 16:54:13 +0000 (UTC) Content-Type: text/plain; charset="utf-8" Despite its name, this is really just a general-purpose string manipulation function, so it should be moved to the virstring module and renamed accordingly. A few trivial whitespace changes are squashed in. Signed-off-by: Andrea Bolognani --- src/conf/virdomainobjlist.c | 2 +- src/conf/virnetworkobj.c | 4 ++-- src/conf/virnwfilterbindingobjlist.c | 2 +- src/conf/virnwfilterobj.c | 2 +- src/conf/virstorageobj.c | 2 +- src/libvirt_private.syms | 2 +- src/util/virfile.c | 18 ------------------ src/util/virfile.h | 3 --- src/util/virstring.c | 18 ++++++++++++++++++ src/util/virstring.h | 2 ++ tests/testutilsqemu.c | 2 +- 11 files changed, 28 insertions(+), 29 deletions(-) diff --git a/src/conf/virdomainobjlist.c b/src/conf/virdomainobjlist.c index 0e943d0a6c..7742de94f2 100644 --- a/src/conf/virdomainobjlist.c +++ b/src/conf/virdomainobjlist.c @@ -597,7 +597,7 @@ virDomainObjListLoadAllConfigs(virDomainObjListPtr doms, while ((ret =3D virDirRead(dir, &entry, configDir)) > 0) { virDomainObjPtr dom; =20 - if (!virFileStripSuffix(entry->d_name, ".xml")) + if (!virStringStripSuffix(entry->d_name, ".xml")) continue; =20 /* NB: ignoring errors, so one malformed config doesn't diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c index ae1264325a..c9336e0472 100644 --- a/src/conf/virnetworkobj.c +++ b/src/conf/virnetworkobj.c @@ -1068,7 +1068,7 @@ virNetworkObjLoadAllState(virNetworkObjListPtr nets, while ((ret =3D virDirRead(dir, &entry, stateDir)) > 0) { virNetworkObjPtr obj; =20 - if (!virFileStripSuffix(entry->d_name, ".xml")) + if (!virStringStripSuffix(entry->d_name, ".xml")) continue; =20 obj =3D virNetworkLoadState(nets, stateDir, entry->d_name); @@ -1096,7 +1096,7 @@ virNetworkObjLoadAllConfigs(virNetworkObjListPtr nets, while ((ret =3D virDirRead(dir, &entry, configDir)) > 0) { virNetworkObjPtr obj; =20 - if (!virFileStripSuffix(entry->d_name, ".xml")) + if (!virStringStripSuffix(entry->d_name, ".xml")) continue; =20 /* NB: ignoring errors, so one malformed config doesn't diff --git a/src/conf/virnwfilterbindingobjlist.c b/src/conf/virnwfilterbin= dingobjlist.c index 887c7c7b09..06ccbf53af 100644 --- a/src/conf/virnwfilterbindingobjlist.c +++ b/src/conf/virnwfilterbindingobjlist.c @@ -304,7 +304,7 @@ virNWFilterBindingObjListLoadAllConfigs(virNWFilterBind= ingObjListPtr bindings, while ((ret =3D virDirRead(dir, &entry, configDir)) > 0) { virNWFilterBindingObjPtr binding; =20 - if (!virFileStripSuffix(entry->d_name, ".xml")) + if (!virStringStripSuffix(entry->d_name, ".xml")) continue; =20 /* NB: ignoring errors, so one malformed config doesn't diff --git a/src/conf/virnwfilterobj.c b/src/conf/virnwfilterobj.c index 0136a0d56c..d2d957a1cc 100644 --- a/src/conf/virnwfilterobj.c +++ b/src/conf/virnwfilterobj.c @@ -547,7 +547,7 @@ virNWFilterObjListLoadAllConfigs(virNWFilterObjListPtr = nwfilters, while ((ret =3D virDirRead(dir, &entry, configDir)) > 0) { virNWFilterObjPtr obj; =20 - if (!virFileStripSuffix(entry->d_name, ".xml")) + if (!virStringStripSuffix(entry->d_name, ".xml")) continue; =20 obj =3D virNWFilterObjListLoadConfig(nwfilters, configDir, entry->= d_name); diff --git a/src/conf/virstorageobj.c b/src/conf/virstorageobj.c index 68c89bd9a9..85b6dd3695 100644 --- a/src/conf/virstorageobj.c +++ b/src/conf/virstorageobj.c @@ -1688,7 +1688,7 @@ virStoragePoolObjLoadAllState(virStoragePoolObjListPt= r pools, while ((ret =3D virDirRead(dir, &entry, stateDir)) > 0) { virStoragePoolObjPtr obj; =20 - if (!virFileStripSuffix(entry->d_name, ".xml")) + if (!virStringStripSuffix(entry->d_name, ".xml")) continue; =20 if (!(obj =3D virStoragePoolObjLoadState(pools, stateDir, entry->d= _name))) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index e4ed1def33..f94a8fdc3d 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1882,7 +1882,6 @@ virFileSetACLs; virFileSetupDev; virFileSetXAttr; virFileSkipRoot; -virFileStripSuffix; virFileTouch; virFileUnlock; virFileUpdatePerm; @@ -2982,6 +2981,7 @@ virStringSplit; virStringSplitCount; virStringStripControlChars; virStringStripIPv6Brackets; +virStringStripSuffix; virStringToUpper; virStringTrimOptionalNewline; virStrncpy; diff --git a/src/util/virfile.c b/src/util/virfile.c index 21f7dc1ac3..c0f3f56293 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -1044,24 +1044,6 @@ int virFileDeleteTree(const char *dir) return ret; } =20 -int -virFileStripSuffix(char *str, const char *suffix) -{ - int len =3D strlen(str); - int suffixlen =3D strlen(suffix); - - if (len < suffixlen) - return 0; - - if (STRNEQ(str + len - suffixlen, suffix)) - return 0; - - str[len-suffixlen] =3D '\0'; - - return 1; -} - - /* Like read(), but restarts after EINTR. Doesn't play * nicely with nonblocking FD and EAGAIN, in which case * you want to use bare read(). Or even use virSocket() diff --git a/src/util/virfile.h b/src/util/virfile.h index 5a43d57181..0079e234f8 100644 --- a/src/util/virfile.h +++ b/src/util/virfile.h @@ -166,9 +166,6 @@ int virFileMatchesNameSuffix(const char *file, const char *name, const char *suffix); =20 -int virFileStripSuffix(char *str, - const char *suffix) ATTRIBUTE_RETURN_CHECK; - int virFileLinkPointsTo(const char *checkLink, const char *checkDest) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); diff --git a/src/util/virstring.c b/src/util/virstring.c index 399b9468e6..60b4167af4 100644 --- a/src/util/virstring.c +++ b/src/util/virstring.c @@ -1248,6 +1248,24 @@ virStringHasCaseSuffix(const char *str, return STRCASEEQ(str + len - suffixlen, suffix); } =20 +int +virStringStripSuffix(char *str, + const char *suffix) +{ + int len =3D strlen(str); + int suffixlen =3D strlen(suffix); + + if (len < suffixlen) + return 0; + + if (STRNEQ(str + len - suffixlen, suffix)) + return 0; + + str[len - suffixlen] =3D '\0'; + + return 1; +} + /** * virStringStripIPv6Brackets: * @str: the string to strip diff --git a/src/util/virstring.h b/src/util/virstring.h index b2ba97a8d1..580e4da9b9 100644 --- a/src/util/virstring.h +++ b/src/util/virstring.h @@ -290,6 +290,8 @@ char *virStringReplace(const char *haystack, =20 int virStringHasCaseSuffix(const char *str, const char *suffix); +int virStringStripSuffix(char *str, + const char *suffix) ATTRIBUTE_RETURN_CHECK; =20 void virStringStripIPv6Brackets(char *str); bool virStringHasChars(const char *str, diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c index 1736bad032..61bf67d5ad 100644 --- a/tests/testutilsqemu.c +++ b/tests/testutilsqemu.c @@ -834,7 +834,7 @@ testQemuGetLatestCapsForArch(const char *dirname, if (rc =3D=3D 0) continue; =20 - if (virFileStripSuffix(tmp, fullsuffix) !=3D 1) + if (virStringStripSuffix(tmp, fullsuffix) !=3D 1) continue; =20 if (virParseVersionString(tmp, &ver, false) < 0) { --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sat Apr 27 17:55:49 2024 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 1551891264476123.17229191175079; Wed, 6 Mar 2019 08:54:24 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BC3483092656; Wed, 6 Mar 2019 16:54:22 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 935401001DF2; Wed, 6 Mar 2019 16:54:22 +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 5101E181A13D; Wed, 6 Mar 2019 16:54:22 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x26GsBrt030398 for ; Wed, 6 Mar 2019 11:54:11 -0500 Received: by smtp.corp.redhat.com (Postfix) id 922BA5D71A; Wed, 6 Mar 2019 16:54:11 +0000 (UTC) Received: from kinshicho.brq.redhat.com (unknown [10.43.2.212]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 12F925D786 for ; Wed, 6 Mar 2019 16:54:10 +0000 (UTC) From: Andrea Bolognani To: libvir-list@redhat.com Date: Wed, 6 Mar 2019 17:54:02 +0100 Message-Id: <20190306165404.11152-4-abologna@redhat.com> In-Reply-To: <20190306165404.11152-1-abologna@redhat.com> References: <20190306165404.11152-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 3/5] util: Rename virFileMatchesNameSuffix() to virStringMatchesNameSuffix() 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-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.43]); Wed, 06 Mar 2019 16:54:23 +0000 (UTC) Content-Type: text/plain; charset="utf-8" Despite its name, this is really just a general-purpose string manipulation function, so it should be moved to the virstring module and renamed accordingly. Signed-off-by: Andrea Bolognani --- src/conf/virsecretobj.c | 2 +- src/conf/virstorageobj.c | 2 +- src/libvirt_private.syms | 2 +- src/util/virfile.c | 17 ----------------- src/util/virfile.h | 4 ---- src/util/virstring.c | 17 +++++++++++++++++ src/util/virstring.h | 3 +++ 7 files changed, 23 insertions(+), 24 deletions(-) diff --git a/src/conf/virsecretobj.c b/src/conf/virsecretobj.c index 5cd36b8a40..b01dc7cc70 100644 --- a/src/conf/virsecretobj.c +++ b/src/conf/virsecretobj.c @@ -819,7 +819,7 @@ virSecretLoadValidateUUID(virSecretDefPtr def, =20 virUUIDFormat(def->uuid, uuidstr); =20 - if (!virFileMatchesNameSuffix(file, uuidstr, ".xml")) { + if (!virStringMatchesNameSuffix(file, uuidstr, ".xml")) { virReportError(VIR_ERR_INTERNAL_ERROR, _(" does not match secret file name '%s'"), file); diff --git a/src/conf/virstorageobj.c b/src/conf/virstorageobj.c index 85b6dd3695..a30d86d070 100644 --- a/src/conf/virstorageobj.c +++ b/src/conf/virstorageobj.c @@ -1585,7 +1585,7 @@ virStoragePoolObjLoad(virStoragePoolObjListPtr pools, if (!(def =3D virStoragePoolDefParseFile(path))) return NULL; =20 - if (!virFileMatchesNameSuffix(file, def->name, ".xml")) { + if (!virStringMatchesNameSuffix(file, def->name, ".xml")) { virReportError(VIR_ERR_XML_ERROR, _("Storage pool config filename '%s' does " "not match pool name '%s'"), diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index f94a8fdc3d..d7ccd509e9 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1851,7 +1851,6 @@ virFileLoopDeviceAssociate; virFileMakeParentPath; virFileMakePath; virFileMakePathWithMode; -virFileMatchesNameSuffix; virFileMoveMount; virFileNBDDeviceAssociate; virFileOpenAs; @@ -2972,6 +2971,7 @@ virStringListLength; virStringListMerge; virStringListRemove; virStringMatch; +virStringMatchesNameSuffix; virStringParsePort; virStringReplace; virStringSearch; diff --git a/src/util/virfile.c b/src/util/virfile.c index c0f3f56293..a4c6d184af 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -1508,23 +1508,6 @@ virFileWriteStr(const char *path, const char *str, m= ode_t mode) return 0; } =20 -int -virFileMatchesNameSuffix(const char *file, - const char *name, - const char *suffix) -{ - int filelen =3D strlen(file); - int namelen =3D strlen(name); - int suffixlen =3D strlen(suffix); - - if (filelen =3D=3D (namelen + suffixlen) && - STREQLEN(file, name, namelen) && - STREQLEN(file + namelen, suffix, suffixlen)) - return 1; - else - return 0; -} - #define SAME_INODE(Stat_buf_1, Stat_buf_2) \ ((Stat_buf_1).st_ino =3D=3D (Stat_buf_2).st_ino \ && (Stat_buf_1).st_dev =3D=3D (Stat_buf_2).st_dev) diff --git a/src/util/virfile.h b/src/util/virfile.h index 0079e234f8..3dedb7666a 100644 --- a/src/util/virfile.h +++ b/src/util/virfile.h @@ -162,10 +162,6 @@ int virFileReadBufQuiet(const char *file, char *buf, i= nt len) int virFileWriteStr(const char *path, const char *str, mode_t mode) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_RETURN_CHECK; =20 -int virFileMatchesNameSuffix(const char *file, - const char *name, - const char *suffix); - int virFileLinkPointsTo(const char *checkLink, const char *checkDest) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); diff --git a/src/util/virstring.c b/src/util/virstring.c index 60b4167af4..b4d10f9884 100644 --- a/src/util/virstring.c +++ b/src/util/virstring.c @@ -1266,6 +1266,23 @@ virStringStripSuffix(char *str, return 1; } =20 +int +virStringMatchesNameSuffix(const char *file, + const char *name, + const char *suffix) +{ + int filelen =3D strlen(file); + int namelen =3D strlen(name); + int suffixlen =3D strlen(suffix); + + if (filelen =3D=3D (namelen + suffixlen) && + STREQLEN(file, name, namelen) && + STREQLEN(file + namelen, suffix, suffixlen)) + return 1; + else + return 0; +} + /** * virStringStripIPv6Brackets: * @str: the string to strip diff --git a/src/util/virstring.h b/src/util/virstring.h index 580e4da9b9..69030566e9 100644 --- a/src/util/virstring.h +++ b/src/util/virstring.h @@ -292,6 +292,9 @@ int virStringHasCaseSuffix(const char *str, const char *suffix); int virStringStripSuffix(char *str, const char *suffix) ATTRIBUTE_RETURN_CHECK; +int virStringMatchesNameSuffix(const char *file, + const char *name, + const char *suffix); =20 void virStringStripIPv6Brackets(char *str); bool virStringHasChars(const char *str, --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sat Apr 27 17:55:49 2024 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 1551891265633762.91190687675; Wed, 6 Mar 2019 08:54:25 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8DA6CC05FF80; Wed, 6 Mar 2019 16:54:23 +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 66F461902C; Wed, 6 Mar 2019 16:54:23 +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 169BC3FB11; Wed, 6 Mar 2019 16:54:23 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x26GsCvP030403 for ; Wed, 6 Mar 2019 11:54:12 -0500 Received: by smtp.corp.redhat.com (Postfix) id 6A0495D71A; Wed, 6 Mar 2019 16:54:12 +0000 (UTC) Received: from kinshicho.brq.redhat.com (unknown [10.43.2.212]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E22FA5D786 for ; Wed, 6 Mar 2019 16:54:11 +0000 (UTC) From: Andrea Bolognani To: libvir-list@redhat.com Date: Wed, 6 Mar 2019 17:54:03 +0100 Message-Id: <20190306165404.11152-5-abologna@redhat.com> In-Reply-To: <20190306165404.11152-1-abologna@redhat.com> References: <20190306165404.11152-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 4/5] util: Add virStringHasSuffix() 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-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.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Wed, 06 Mar 2019 16:54:24 +0000 (UTC) Content-Type: text/plain; charset="utf-8" This is the case-sensitive counterpart of the existing virStringHasCaseSuffix() function. Signed-off-by: Andrea Bolognani --- src/util/virstring.c | 13 +++++++++++++ src/util/virstring.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/src/util/virstring.c b/src/util/virstring.c index b4d10f9884..b9b33e3d1a 100644 --- a/src/util/virstring.c +++ b/src/util/virstring.c @@ -1235,6 +1235,19 @@ virStringReplace(const char *haystack, return virBufferContentAndReset(&buf); } =20 +int +virStringHasSuffix(const char *str, + const char *suffix) +{ + int len =3D strlen(str); + int suffixlen =3D strlen(suffix); + + if (len < suffixlen) + return 0; + + return STREQ(str + len - suffixlen, suffix); +} + int virStringHasCaseSuffix(const char *str, const char *suffix) diff --git a/src/util/virstring.h b/src/util/virstring.h index 69030566e9..dff21d9cf1 100644 --- a/src/util/virstring.h +++ b/src/util/virstring.h @@ -288,6 +288,8 @@ char *virStringReplace(const char *haystack, const char *newneedle) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); =20 +int virStringHasSuffix(const char *str, + const char *suffix); int virStringHasCaseSuffix(const char *str, const char *suffix); int virStringStripSuffix(char *str, --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Sat Apr 27 17:55:49 2024 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 1551891269275683.6370878627886; Wed, 6 Mar 2019 08:54:29 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9594415553; Wed, 6 Mar 2019 16:54:27 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 18B71611A0; Wed, 6 Mar 2019 16:54:27 +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 BF024181A264; Wed, 6 Mar 2019 16:54:26 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x26GsDYw030419 for ; Wed, 6 Mar 2019 11:54:13 -0500 Received: by smtp.corp.redhat.com (Postfix) id 440E35D787; Wed, 6 Mar 2019 16:54:13 +0000 (UTC) Received: from kinshicho.brq.redhat.com (unknown [10.43.2.212]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B9EE05D71A for ; Wed, 6 Mar 2019 16:54:12 +0000 (UTC) From: Andrea Bolognani To: libvir-list@redhat.com Date: Wed, 6 Mar 2019 17:54:04 +0100 Message-Id: <20190306165404.11152-6-abologna@redhat.com> In-Reply-To: <20190306165404.11152-1-abologna@redhat.com> References: <20190306165404.11152-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 5/5] Use virStringHasSuffix() where possible 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-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.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Wed, 06 Mar 2019 16:54:28 +0000 (UTC) Content-Type: text/plain; charset="utf-8" When dealing with internal paths we don't need to worry about whether or not suffixes are lowercase since we have full control over them, which means we can avoid performing case-insensitive string comparisons. Signed-off-by: Andrea Bolognani --- src/conf/virsecretobj.c | 2 +- src/conf/virstorageobj.c | 2 +- src/libvirt_private.syms | 1 + src/vmx/vmx.c | 2 +- tests/testutils.c | 4 ++-- tests/virschematest.c | 4 ++-- tools/nss/libvirt_nss.c | 4 ++-- 7 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/conf/virsecretobj.c b/src/conf/virsecretobj.c index b01dc7cc70..7800912bff 100644 --- a/src/conf/virsecretobj.c +++ b/src/conf/virsecretobj.c @@ -949,7 +949,7 @@ virSecretLoadAllConfigs(virSecretObjListPtr secrets, char *path; virSecretObjPtr obj; =20 - if (!virStringHasCaseSuffix(de->d_name, ".xml")) + if (!virStringHasSuffix(de->d_name, ".xml")) continue; =20 if (!(path =3D virFileBuildPath(configDir, de->d_name, NULL))) diff --git a/src/conf/virstorageobj.c b/src/conf/virstorageobj.c index a30d86d070..1d6c9d1937 100644 --- a/src/conf/virstorageobj.c +++ b/src/conf/virstorageobj.c @@ -1719,7 +1719,7 @@ virStoragePoolObjLoadAllConfigs(virStoragePoolObjList= Ptr pools, char *autostartLink; virStoragePoolObjPtr obj; =20 - if (!virStringHasCaseSuffix(entry->d_name, ".xml")) + if (!virStringHasSuffix(entry->d_name, ".xml")) continue; =20 if (!(path =3D virFileBuildPath(configDir, entry->d_name, NULL))) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index d7ccd509e9..1eab68622d 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2958,6 +2958,7 @@ virStringFilterChars; virStringHasCaseSuffix; virStringHasChars; virStringHasControlChars; +virStringHasSuffix; virStringIsEmpty; virStringIsPrintable; virStringListAdd; diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index bbf8e55c3f..8ffd5ff088 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -1600,7 +1600,7 @@ virVMXParseConfig(virVMXContext *ctx, if (virVMXGetConfigString(conf, "guestOS", &guestOS, true) < 0) goto cleanup; =20 - if (guestOS !=3D NULL && virStringHasCaseSuffix(guestOS, "-64")) { + if (guestOS !=3D NULL && virStringHasSuffix(guestOS, "-64")) { def->os.arch =3D VIR_ARCH_X86_64; } else { def->os.arch =3D VIR_ARCH_I686; diff --git a/tests/testutils.c b/tests/testutils.c index cfdf122ae0..d2aa4e5d49 100644 --- a/tests/testutils.c +++ b/tests/testutils.c @@ -525,8 +525,8 @@ virTestRewrapFile(const char *filename) char *script =3D NULL; virCommandPtr cmd =3D NULL; =20 - if (!(virStringHasCaseSuffix(filename, ".args") || - virStringHasCaseSuffix(filename, ".ldargs"))) + if (!(virStringHasSuffix(filename, ".args") || + virStringHasSuffix(filename, ".ldargs"))) return 0; =20 if (!perl) { diff --git a/tests/virschematest.c b/tests/virschematest.c index 46c67760a7..4e4f912699 100644 --- a/tests/virschematest.c +++ b/tests/virschematest.c @@ -41,7 +41,7 @@ static int testSchemaFile(const void *args) { const struct testSchemaData *data =3D args; - bool shouldFail =3D virStringHasCaseSuffix(data->xml_path, "-invalid.x= ml"); + bool shouldFail =3D virStringHasSuffix(data->xml_path, "-invalid.xml"); xmlDocPtr xml =3D NULL; int ret =3D -1; =20 @@ -82,7 +82,7 @@ testSchemaDir(const char *schema, return -1; =20 while ((rc =3D virDirRead(dir, &ent, dir_path)) > 0) { - if (!virStringHasCaseSuffix(ent->d_name, ".xml")) + if (!virStringHasSuffix(ent->d_name, ".xml")) continue; if (ent->d_name[0] =3D=3D '.') continue; diff --git a/tools/nss/libvirt_nss.c b/tools/nss/libvirt_nss.c index 4d86f8e6ce..3ff1bada31 100644 --- a/tools/nss/libvirt_nss.c +++ b/tools/nss/libvirt_nss.c @@ -274,7 +274,7 @@ findLease(const char *name, while ((ret =3D virDirRead(dir, &entry, leaseDir)) > 0) { char *path; =20 - if (virStringHasCaseSuffix(entry->d_name, ".status")) { + if (virStringHasSuffix(entry->d_name, ".status")) { if (!(path =3D virFileBuildPath(leaseDir, entry->d_name, NULL)= )) goto cleanup; =20 @@ -285,7 +285,7 @@ findLease(const char *name, goto cleanup; } VIR_FREE(path); - } else if (virStringHasCaseSuffix(entry->d_name, ".macs")) { + } else if (virStringHasSuffix(entry->d_name, ".macs")) { if (!(path =3D virFileBuildPath(leaseDir, entry->d_name, NULL)= )) goto cleanup; =20 --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list