[libvirt] virFileHasSuffix case sensitivity

Daniel Veillard veillard at redhat.com
Thu Apr 29 13:59:10 UTC 2010

On Wed, Apr 28, 2010 at 09:43:53PM -0600, Eric Blake wrote:
> On 04/28/2010 09:24 PM, Paul Dorman wrote:
> > Hi all,
> > 
> > virFileHasSuffix fails on esx IDE fileName VMX entries that aren't lower
> > case, e.g. '.ISO'. Unless there's a good reason, can the comparison be done
> > with STRCASEEQ instead of STREQ?
> Seems reasonable to me.

  I wanted to make sure, so I dug a little bit, and most uses look okay,
even for more complex kinds like FileTypeInfo storage file type detection
".ISO" or ".Dmg" should be fine. By definition using file suffixes is
some kind of heuristic, at least in the cases we used (there is also '-64'
but that's not case sensitive). So based on existing use and principle
this sounds fine to me

> It would help if you could write a patch for
> that, but if not, I can probably get around to figuring out the
> appropriate patch based on your description.

I suggest the trivial patch below, I assume that's what the reporter had
in mind


diff --git a/src/util/util.c b/src/util/util.c
index a7bb67c..3209185 100644
--- a/src/util/util.c
+++ b/src/util/util.c
@@ -1153,7 +1153,7 @@ int virFileHasSuffix(const char *str,
     if (len < suffixlen)
         return 0;
-    return STREQ(str + len - suffixlen, suffix);
+    return STRCASEEQ(str + len - suffixlen, suffix);
 # define SAME_INODE(Stat_buf_1, Stat_buf_2) \

Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/

More information about the libvir-list mailing list