# HG changeset patch # User zas_ # Date 1206905195 0 # Node ID f2b439c7f97376029099ab7fff30556396a52518 # Parent c0e9aac4c7bf6ec6d920855212ee2494930cd307 Move strlen() calls outside the while loop. diff -r c0e9aac4c7bf -r f2b439c7f973 src/filelist.c --- a/src/filelist.c Sun Mar 30 14:19:34 2008 +0000 +++ b/src/filelist.c Sun Mar 30 19:26:35 2008 +0000 @@ -313,14 +313,17 @@ gint filter_name_exists(const gchar *name) { GList *work; + gint ln; + if (!extension_list || file_filter_disable) return TRUE; + ln = strlen(name); work = extension_list; while (work) { gchar *filter = work->data; gint lf = strlen(filter); - gint ln = strlen(name); + if (ln >= lf) { if (strncasecmp(name + ln - lf, filter, lf) == 0) return TRUE; @@ -334,6 +337,7 @@ gint filter_file_class(const gchar *name, FileFormatClass file_class) { GList *work; + gint ln; if (file_class < 0 || file_class >= FILE_FORMAT_CLASSES) { @@ -341,12 +345,13 @@ return FALSE; } + ln = strlen(name); work = file_class_extension_list[file_class]; while (work) { gchar *filter = work->data; gint lf = strlen(filter); - gint ln = strlen(name); + if (ln >= lf) { if (strncasecmp(name + ln - lf, filter, lf) == 0) return TRUE;