diff options
author | Kim Woelders <kim@woelders.dk> | 2021-10-28 16:16:38 +0200 |
---|---|---|
committer | Kim Woelders <kim@woelders.dk> | 2021-11-05 17:22:01 +0100 |
commit | 1cf913701cd32ac4bc5e90332c0ecc0aab7568f5 (patch) | |
tree | e01456f0baa04b116ba1c8bf3a50ac18d497d639 | |
parent | a0b32e292b6c29cb944e8772119776dd4e8235d9 (diff) | |
download | imlib2-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.c | 29 |
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; |