diff options
author | Kim Woelders <kim@woelders.dk> | 2020-01-03 21:18:21 +0100 |
---|---|---|
committer | Kim Woelders <kim@woelders.dk> | 2020-01-11 12:55:08 +0100 |
commit | 875bc82b499a4674e834c8f6032af3257cfdd3ef (patch) | |
tree | cc0e45737639ee85659aa49d9333f6412bcb5aac | |
parent | c02dc3c975b322b31c6e6e303a7f0e2b7d775603 (diff) | |
download | imlib2-875bc82b499a4674e834c8f6032af3257cfdd3ef.tar.gz |
Introduce __imlib_LoaderSetFormats()
-rw-r--r-- | src/lib/image.h | 3 | ||||
-rw-r--r-- | src/lib/loaders.c | 13 | ||||
-rw-r--r-- | src/modules/loaders/loader_argb.c | 8 | ||||
-rw-r--r-- | src/modules/loaders/loader_bmp.c | 9 | ||||
-rw-r--r-- | src/modules/loaders/loader_bz2.c | 9 | ||||
-rw-r--r-- | src/modules/loaders/loader_ff.c | 6 | ||||
-rw-r--r-- | src/modules/loaders/loader_gif.c | 9 | ||||
-rw-r--r-- | src/modules/loaders/loader_ico.c | 9 | ||||
-rw-r--r-- | src/modules/loaders/loader_id3.c | 9 | ||||
-rw-r--r-- | src/modules/loaders/loader_jpeg.c | 9 | ||||
-rw-r--r-- | src/modules/loaders/loader_lbm.c | 9 | ||||
-rw-r--r-- | src/modules/loaders/loader_png.c | 9 | ||||
-rw-r--r-- | src/modules/loaders/loader_pnm.c | 9 | ||||
-rw-r--r-- | src/modules/loaders/loader_tga.c | 9 | ||||
-rw-r--r-- | src/modules/loaders/loader_tiff.c | 9 | ||||
-rw-r--r-- | src/modules/loaders/loader_webp.c | 9 | ||||
-rw-r--r-- | src/modules/loaders/loader_xpm.c | 9 | ||||
-rw-r--r-- | src/modules/loaders/loader_zlib.c | 9 |
18 files changed, 49 insertions, 107 deletions
diff --git a/src/lib/image.h b/src/lib/image.h index bc89055..fa45202 100644 --- a/src/lib/image.h +++ b/src/lib/image.h @@ -116,6 +116,9 @@ ImlibLoader *__imlib_FindBestLoaderForFormat(const char *format, ImlibLoader *__imlib_FindBestLoaderForFileFormat(const char *file, char *format, int for_save); +void __imlib_LoaderSetFormats(ImlibLoader * l, + const char *const *fmt, + unsigned int num); ImlibImage *__imlib_CreateImage(int w, int h, DATA32 * data); ImlibImage *__imlib_LoadImage(const char *file, diff --git a/src/lib/loaders.c b/src/lib/loaders.c index cd9461f..90b4c10 100644 --- a/src/lib/loaders.c +++ b/src/lib/loaders.c @@ -218,3 +218,16 @@ __imlib_FindBestLoaderForFileFormat(const char *file, char *format, else return __imlib_FindBestLoaderForFile(file, for_save); } + +__EXPORT__ void +__imlib_LoaderSetFormats(ImlibLoader * l, + const char *const *fmt, unsigned int num) +{ + unsigned int i; + + l->num_formats = num; + l->formats = malloc(sizeof(char *) * num); + + for (i = 0; i < num; i++) + l->formats[i] = strdup(fmt[i]); +} diff --git a/src/modules/loaders/loader_argb.c b/src/modules/loaders/loader_argb.c index 393e880..1aa23a5 100644 --- a/src/modules/loaders/loader_argb.c +++ b/src/modules/loaders/loader_argb.c @@ -144,11 +144,7 @@ void formats(ImlibLoader * l) { static const char *const list_formats[] = { "argb", "arg" }; - int i; - l->num_formats = sizeof(list_formats) / sizeof(char *); - l->formats = malloc(sizeof(char *) * l->num_formats); - - for (i = 0; i < l->num_formats; i++) - l->formats[i] = strdup(list_formats[i]); + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } diff --git a/src/modules/loaders/loader_bmp.c b/src/modules/loaders/loader_bmp.c index 5e2320f..564a8a2 100644 --- a/src/modules/loaders/loader_bmp.c +++ b/src/modules/loaders/loader_bmp.c @@ -850,11 +850,6 @@ void formats(ImlibLoader * l) { static const char *const list_formats[] = { "bmp" }; - int i; - - l->num_formats = sizeof(list_formats) / sizeof(char *); - l->formats = malloc(sizeof(char *) * l->num_formats); - - for (i = 0; i < l->num_formats; i++) - l->formats[i] = strdup(list_formats[i]); + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } diff --git a/src/modules/loaders/loader_bz2.c b/src/modules/loaders/loader_bz2.c index 804e390..30fcbe7 100644 --- a/src/modules/loaders/loader_bz2.c +++ b/src/modules/loaders/loader_bz2.c @@ -103,11 +103,6 @@ void formats(ImlibLoader * l) { static const char *const list_formats[] = { "bz2" }; - int i; - - l->num_formats = sizeof(list_formats) / sizeof(char *); - l->formats = malloc(sizeof(char *) * l->num_formats); - - for (i = 0; i < l->num_formats; i++) - l->formats[i] = strdup(list_formats[i]); + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } diff --git a/src/modules/loaders/loader_ff.c b/src/modules/loaders/loader_ff.c index 5b22610..7a1bc85 100644 --- a/src/modules/loaders/loader_ff.c +++ b/src/modules/loaders/loader_ff.c @@ -161,7 +161,7 @@ save(ImlibImage * im, ImlibProgressFunction progress, char progress_granularity) void formats(ImlibLoader * l) { - l->num_formats = 1; - l->formats = malloc(sizeof(char *)); - *(l->formats) = strdup("ff"); + static const char *const list_formats[] = { "ff" }; + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } diff --git a/src/modules/loaders/loader_gif.c b/src/modules/loaders/loader_gif.c index 53fc8b9..0c174bd 100644 --- a/src/modules/loaders/loader_gif.c +++ b/src/modules/loaders/loader_gif.c @@ -193,11 +193,6 @@ void formats(ImlibLoader * l) { static const char *const list_formats[] = { "gif" }; - int i; - - l->num_formats = sizeof(list_formats) / sizeof(char *); - l->formats = malloc(sizeof(char *) * l->num_formats); - - for (i = 0; i < l->num_formats; i++) - l->formats[i] = strdup(list_formats[i]); + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } diff --git a/src/modules/loaders/loader_ico.c b/src/modules/loaders/loader_ico.c index 5aff0a5..f985a36 100644 --- a/src/modules/loaders/loader_ico.c +++ b/src/modules/loaders/loader_ico.c @@ -432,11 +432,6 @@ void formats(ImlibLoader * l) { static const char *const list_formats[] = { "ico" }; - int i; - - l->num_formats = sizeof(list_formats) / sizeof(char *); - l->formats = malloc(sizeof(char *) * l->num_formats); - - for (i = 0; i < l->num_formats; i++) - l->formats[i] = strdup(list_formats[i]); + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } diff --git a/src/modules/loaders/loader_id3.c b/src/modules/loaders/loader_id3.c index 73b4aaa..e8006c4 100644 --- a/src/modules/loaders/loader_id3.c +++ b/src/modules/loaders/loader_id3.c @@ -595,11 +595,6 @@ void formats(ImlibLoader * l) { static const char *const list_formats[] = { "mp3" }; - int i; - - l->num_formats = sizeof(list_formats) / sizeof(char *); - l->formats = malloc(sizeof(char *) * l->num_formats); - - for (i = 0; i < l->num_formats; i++) - l->formats[i] = strdup(list_formats[i]); + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } diff --git a/src/modules/loaders/loader_jpeg.c b/src/modules/loaders/loader_jpeg.c index 0c7687c..616934f 100644 --- a/src/modules/loaders/loader_jpeg.c +++ b/src/modules/loaders/loader_jpeg.c @@ -294,11 +294,6 @@ void formats(ImlibLoader * l) { static const char *const list_formats[] = { "jpg", "jpeg", "jfif", "jfi" }; - int i; - - l->num_formats = sizeof(list_formats) / sizeof(char *); - l->formats = malloc(sizeof(char *) * l->num_formats); - - for (i = 0; i < l->num_formats; i++) - l->formats[i] = strdup(list_formats[i]); + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } diff --git a/src/modules/loaders/loader_lbm.c b/src/modules/loaders/loader_lbm.c index 419c724..79e53d8 100644 --- a/src/modules/loaders/loader_lbm.c +++ b/src/modules/loaders/loader_lbm.c @@ -604,11 +604,6 @@ void formats(ImlibLoader * l) { static const char *const list_formats[] = { "iff", "ilbm", "lbm" }; - int i; - - l->num_formats = sizeof(list_formats) / sizeof(char *); - l->formats = malloc(sizeof(char *) * l->num_formats); - - for (i = 0; i < l->num_formats; i++) - l->formats[i] = strdup(list_formats[i]); + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } diff --git a/src/modules/loaders/loader_png.c b/src/modules/loaders/loader_png.c index 5ccb483..dc35e34 100644 --- a/src/modules/loaders/loader_png.c +++ b/src/modules/loaders/loader_png.c @@ -361,11 +361,6 @@ void formats(ImlibLoader * l) { static const char *const list_formats[] = { "png" }; - int i; - - l->num_formats = sizeof(list_formats) / sizeof(char *); - l->formats = malloc(sizeof(char *) * l->num_formats); - - for (i = 0; i < l->num_formats; i++) - l->formats[i] = strdup(list_formats[i]); + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } diff --git a/src/modules/loaders/loader_pnm.c b/src/modules/loaders/loader_pnm.c index a5f549f..4b89c64 100644 --- a/src/modules/loaders/loader_pnm.c +++ b/src/modules/loaders/loader_pnm.c @@ -472,11 +472,6 @@ formats(ImlibLoader * l) { static const char *const list_formats[] = { "pnm", "ppm", "pgm", "pbm", "pam" }; - int i; - - l->num_formats = sizeof(list_formats) / sizeof(char *); - l->formats = malloc(sizeof(char *) * l->num_formats); - - for (i = 0; i < l->num_formats; i++) - l->formats[i] = strdup(list_formats[i]); + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } diff --git a/src/modules/loaders/loader_tga.c b/src/modules/loaders/loader_tga.c index 37f53ed..c0a56ba 100644 --- a/src/modules/loaders/loader_tga.c +++ b/src/modules/loaders/loader_tga.c @@ -575,13 +575,8 @@ void formats(ImlibLoader * l) { static const char *const list_formats[] = { "tga" }; - int i; - - l->num_formats = sizeof(list_formats) / sizeof(char *); - l->formats = malloc(sizeof(char *) * l->num_formats); - - for (i = 0; i < l->num_formats; i++) - l->formats[i] = strdup(list_formats[i]); + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } /**********************/ diff --git a/src/modules/loaders/loader_tiff.c b/src/modules/loaders/loader_tiff.c index b327afe..734d7b9 100644 --- a/src/modules/loaders/loader_tiff.c +++ b/src/modules/loaders/loader_tiff.c @@ -518,11 +518,6 @@ void formats(ImlibLoader * l) { static const char *const list_formats[] = { "tiff", "tif" }; - int i; - - l->num_formats = sizeof(list_formats) / sizeof(char *); - l->formats = malloc(sizeof(char *) * l->num_formats); - - for (i = 0; i < l->num_formats; i++) - l->formats[i] = strdup(list_formats[i]); + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } diff --git a/src/modules/loaders/loader_webp.c b/src/modules/loaders/loader_webp.c index 6482fa8..bc0ec1f 100644 --- a/src/modules/loaders/loader_webp.c +++ b/src/modules/loaders/loader_webp.c @@ -170,11 +170,6 @@ void formats(ImlibLoader * l) { static const char *const list_formats[] = { "webp" }; - int i; - - l->num_formats = sizeof(list_formats) / sizeof(char *); - l->formats = malloc(sizeof(char *) * l->num_formats); - - for (i = 0; i < l->num_formats; i++) - l->formats[i] = strdup(list_formats[i]); + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } diff --git a/src/modules/loaders/loader_xpm.c b/src/modules/loaders/loader_xpm.c index 7bc3fa9..f2a6815 100644 --- a/src/modules/loaders/loader_xpm.c +++ b/src/modules/loaders/loader_xpm.c @@ -469,11 +469,6 @@ void formats(ImlibLoader * l) { static const char *const list_formats[] = { "xpm" }; - int i; - - l->num_formats = sizeof(list_formats) / sizeof(char *); - l->formats = malloc(sizeof(char *) * l->num_formats); - - for (i = 0; i < l->num_formats; i++) - l->formats[i] = strdup(list_formats[i]); + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } diff --git a/src/modules/loaders/loader_zlib.c b/src/modules/loaders/loader_zlib.c index d081e32..d5cc87b 100644 --- a/src/modules/loaders/loader_zlib.c +++ b/src/modules/loaders/loader_zlib.c @@ -96,11 +96,6 @@ void formats(ImlibLoader * l) { static const char *const list_formats[] = { "gz" }; - int i; - - l->num_formats = sizeof(list_formats) / sizeof(char *); - l->formats = malloc(sizeof(char *) * l->num_formats); - - for (i = 0; i < l->num_formats; i++) - l->formats[i] = strdup(list_formats[i]); + __imlib_LoaderSetFormats(l, list_formats, + sizeof(list_formats) / sizeof(char *)); } |