[gimp] app: simplify finding matching extensions
- From: Nils Philippsen <nphilipp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: simplify finding matching extensions
- Date: Fri, 30 Aug 2013 09:51:51 +0000 (UTC)
commit f232a2bb6f9e99f328394e19d9b18066d8ea10a4
Author: Nils Philippsen <nils redhat com>
Date: Wed Aug 28 16:31:19 2013 +0200
app: simplify finding matching extensions
Use g_slist_find_custom(), g_ascii_strcasecmp() rather than iterating
over lists of extensions, then over single characters again and
comparing the output of g_ascii_tolower().
app/file/file-procedure.c | 22 ++++------------------
1 files changed, 4 insertions(+), 18 deletions(-)
---
diff --git a/app/file/file-procedure.c b/app/file/file-procedure.c
index 3d155b4..c818ae3 100644
--- a/app/file/file-procedure.c
+++ b/app/file/file-procedure.c
@@ -317,7 +317,6 @@ file_proc_find_by_extension (GSList *procs,
for (p = procs; p; p = g_slist_next (p))
{
GimpPlugInProcedure *proc = p->data;
- GSList *extensions;
if (uri_procs_only && ! proc->handles_uri)
continue;
@@ -325,24 +324,11 @@ file_proc_find_by_extension (GSList *procs,
if (skip_magic && proc->magics_list)
continue;
- for (extensions = proc->extensions_list;
- extensions;
- extensions = g_slist_next (extensions))
+ if (g_slist_find_custom (proc->extensions_list,
+ ext,
+ (GCompareFunc) g_ascii_strcasecmp))
{
- const gchar *p1 = ext;
- const gchar *p2 = extensions->data;
-
- while (*p1 && *p2)
- {
- if (g_ascii_tolower (*p1) != g_ascii_tolower (*p2))
- break;
-
- p1++;
- p2++;
- }
-
- if (!(*p1) && !(*p2))
- return proc;
+ return proc;
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]