[geany/geany] 0082fb: Kill filetypes_find(), rename static function
Nick Treleaven
git-noreply at xxxxx
Mon Jun 10 11:15:50 UTC 2019
Branch: refs/heads/master
Author: Nick Treleaven <n at trelsoft.com>
Committer: Nick Treleaven <n at trelsoft.com>
Date: Thu, 16 May 2019 14:58:57 UTC
Commit: 0082fb2a99b306a7d7b995cd6ca3d087c3bca7cd
https://github.com/geany/geany/commit/0082fb2a99b306a7d7b995cd6ca3d087c3bca7cd
Log Message:
-----------
Kill filetypes_find(), rename static function
It's not worth abstracting finding through filetypes_array, it's not bug prone,
and it may even cause bugs with non-type-safe predicate signature. It was only
used once anyway.
Modified Paths:
--------------
src/filetypes.c
src/filetypes.h
Modified: src/filetypes.c
33 lines changed, 11 insertions(+), 22 deletions(-)
===================================================================
@@ -463,26 +463,8 @@ void filetypes_init(void)
}
-/* Find a filetype that predicate returns TRUE for, otherwise return NULL. */
-GeanyFiletype *filetypes_find(GCompareFunc predicate, gpointer user_data)
+static gboolean match_basename(const GeanyFiletype *ft, const gchar *base_filename)
{
- guint i;
-
- for (i = 0; i < filetypes_array->len; i++)
- {
- GeanyFiletype *ft = filetypes[i];
-
- if (predicate(ft, user_data))
- return ft;
- }
- return NULL;
-}
-
-
-static gboolean match_basename(gconstpointer pft, gconstpointer user_data)
-{
- const GeanyFiletype *ft = pft;
- const gchar *base_filename = user_data;
gint j;
gboolean ret = FALSE;
@@ -505,7 +487,7 @@ static gboolean match_basename(gconstpointer pft, gconstpointer user_data)
}
-static GeanyFiletype *check_builtin_filenames(const gchar *utf8_filename)
+static GeanyFiletype *detect_filetype_conf_file(const gchar *utf8_filename)
{
gchar *lfn = NULL;
gchar *path;
@@ -540,7 +522,7 @@ GeanyFiletype *filetypes_detect_from_extension(const gchar *utf8_filename)
gchar *base_filename;
GeanyFiletype *ft;
- ft = check_builtin_filenames(utf8_filename);
+ ft = detect_filetype_conf_file(utf8_filename);
if (ft)
return ft;
@@ -551,7 +533,14 @@ GeanyFiletype *filetypes_detect_from_extension(const gchar *utf8_filename)
SETPTR(base_filename, g_utf8_strdown(base_filename, -1));
#endif
- ft = filetypes_find(match_basename, base_filename);
+ for (guint i = 0; i < filetypes_array->len; i++)
+ {
+ if (match_basename(filetypes[i], base_filename))
+ {
+ ft = filetypes[i];
+ break;
+ }
+ }
if (ft == NULL)
ft = filetypes[GEANY_FILETYPES_NONE];
Modified: src/filetypes.h
3 lines changed, 0 insertions(+), 3 deletions(-)
===================================================================
@@ -196,9 +196,6 @@ extern GPtrArray *filetypes_array;
extern GSList *filetypes_by_title;
-GeanyFiletype *filetypes_find(GCompareFunc predicate, gpointer user_data);
-
-
void filetypes_init(void);
void filetypes_init_types(void);
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Commits
mailing list