summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim Woelders <kim@woelders.dk>2021-10-28 16:16:38 +0200
committerKim Woelders <kim@woelders.dk>2021-11-05 17:22:01 +0100
commit1cf913701cd32ac4bc5e90332c0ecc0aab7568f5 (patch)
treee01456f0baa04b116ba1c8bf3a50ac18d497d639
parenta0b32e292b6c29cb944e8772119776dd4e8235d9 (diff)
downloadimlib2-1cf913701cd32ac4bc5e90332c0ecc0aab7568f5.tar.gz
Loader loading: Minor loader lookup refactoring
Split off __imlib_LookupLoadedLoader() which just does lookup in loaded loader list.
-rw-r--r--src/lib/loaders.c29
1 files changed, 21 insertions, 8 deletions
diff --git a/src/lib/loaders.c b/src/lib/loaders.c
index 2371c4c..d3f2b8b 100644
--- a/src/lib/loaders.c
+++ b/src/lib/loaders.c
@@ -121,19 +121,13 @@ __imlib_GetLoaderList(void)
return &loaders;
}
-__EXPORT__ ImlibLoader *
-__imlib_FindBestLoaderForFormat(const char *format, int for_save)
+static ImlibLoader *
+__imlib_LookupLoadedLoader(const char *format, int for_save)
{
ImlibLoader *l;
DP("%s: fmt='%s'\n", __func__, format);
- if (!format || format[0] == '\0')
- return NULL;
-
- if (!loaders)
- __imlib_LoadAllLoaders();
-
/* go through the loaders - first loader that claims to handle that */
/* image type (extension wise) wins as a first guess to use - NOTE */
/* this is an OPTIMISATION - it is possible the file has no extension */
@@ -170,6 +164,25 @@ __imlib_FindBestLoaderForFormat(const char *format, int for_save)
}
__EXPORT__ ImlibLoader *
+__imlib_FindBestLoaderForFormat(const char *format, int for_save)
+{
+ ImlibLoader *l;
+
+ DP("%s: fmt='%s'\n", __func__, format);
+
+ if (!format || format[0] == '\0')
+ return NULL;
+
+ if (!loaders)
+ __imlib_LoadAllLoaders();
+
+ l = __imlib_LookupLoadedLoader(format, for_save);
+
+ DP("%s: fmt='%s': %s\n", __func__, format, l ? l->file : "-");
+ return l;
+}
+
+__EXPORT__ ImlibLoader *
__imlib_FindBestLoaderForFile(const char *file, int for_save)
{
ImlibLoader *l;