From 492e5f9644e939f45601f7d1a5b9a92854882c25 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Sat, 11 Aug 2007 13:20:16 +0000 Subject: [PATCH] externsion checks should be case-insensitve. SVN revision: 31245 --- legacy/efreet/src/lib/efreet_mime.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/legacy/efreet/src/lib/efreet_mime.c b/legacy/efreet/src/lib/efreet_mime.c index c7341416b9..69415ee7fb 100644 --- a/legacy/efreet/src/lib/efreet_mime.c +++ b/legacy/efreet/src/lib/efreet_mime.c @@ -258,23 +258,26 @@ const char *efreet_mime_magic_type_get(const char *file) const char *efreet_mime_globs_type_get(const char *file) { Efreet_Mime_Glob *g; - char *s; + char *s, *sl; const char *ext, *mime; - + /* * Check in the extension hash for the type */ - ext = strchr(file,'.'); - while(ext) - { + sl = alloca(strlen(file) + 1); + strcpy(sl, file); + for (s = sl; *s; s++) *s = tolower(*s); + ext = strchr(sl,'.'); + while(ext) + { ++ext; - if(ext && (mime = ecore_hash_get(wild, ext))) - return mime; + if (ext && (mime = ecore_hash_get(wild, ext))) + return mime; ext = strchr(ext,'.'); - } - + } + /* * Fallback to the other globs if not found */