Case insensitive mimetype matching edge case

Alexander Larsson alexl at redhat.com
Wed May 20 06:20:31 PDT 2009


I got a bug report[1] recently about a problem with case insensitive
globs.

The spec has this to say:
 Applications MUST first try a case-sensitive match, then try again with
 the filename converted to lower-case if that fails. This is so that 
 main.C will be seen as a C++ file, but IMAGE.GIF will still use the
 *.gif pattern. 

Now, take the case of foo.ps.gz, foo.PS.GZ, and foo.PS.gz.
The first matches .ps.gz and .gz case sensitively, picking the longer
match.The second one does the same, but case insensitively.
The third one however, matches .gz case insensitively only, so picks
that instead of trying an insensitive match...

Not sure how to handle this. Maybe we should always do the insensitive
match and handle conflicts like we do multiple globs with the same
extension?

[1] http://bugzilla.gnome.org/show_bug.cgi?id=575010




More information about the xdg mailing list