From ac41eae7fa3c5b6d5dcd63413325530761276e2e Mon Sep 17 00:00:00 2001 From: Kim Woelders Date: Thu, 27 Feb 2020 17:40:52 +0100 Subject: [PATCH] GZ, BZ2 loaders: Accept more file names E.g. ".png.gz", "png.gz", ".../png.gz". --- src/modules/loaders/loader_bz2.c | 10 +++++----- src/modules/loaders/loader_zlib.c | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/modules/loaders/loader_bz2.c b/src/modules/loaders/loader_bz2.c index 30fcbe7..f5348ac 100644 --- a/src/modules/loaders/loader_bz2.c +++ b/src/modules/loaders/loader_bz2.c @@ -57,17 +57,17 @@ load(ImlibImage * im, ImlibProgressFunction progress, /* make sure this file ends in ".bz2" and that there's another ext * (e.g. "foo.png.bz2") */ - for (s = im->real_file, p = q = NULL; *s; s++) + for (p = s = im->real_file, q = NULL; *s; s++) { - if (*s != '.') + if (*s != '.' && *s != '/') continue; q = p; - p = s; + p = s + 1; } - if (!q || q == im->real_file || strcasecmp(p + 1, "bz2")) + if (!q || strcasecmp(p, "bz2")) return 0; - if (!(real_ext = strndup(q + 1, p - q - 1))) + if (!(real_ext = strndup(q, p - q - 1))) return 0; loader = __imlib_FindBestLoaderForFormat(real_ext, 0); diff --git a/src/modules/loaders/loader_zlib.c b/src/modules/loaders/loader_zlib.c index d5cc87b..22e7d1b 100644 --- a/src/modules/loaders/loader_zlib.c +++ b/src/modules/loaders/loader_zlib.c @@ -50,17 +50,17 @@ load(ImlibImage * im, ImlibProgressFunction progress, /* make sure this file ends in ".gz" and that there's another ext * (e.g. "foo.png.gz") */ - for (s = im->real_file, p = q = NULL; *s; s++) + for (p = s = im->real_file, q = NULL; *s; s++) { - if (*s != '.') + if (*s != '.' && *s != '/') continue; q = p; - p = s; + p = s + 1; } - if (!q || q == im->real_file || strcasecmp(p + 1, "gz")) + if (!q || strcasecmp(p, "gz")) return 0; - if (!(real_ext = strndup(q + 1, p - q - 1))) + if (!(real_ext = strndup(q, p - q - 1))) return 0; loader = __imlib_FindBestLoaderForFormat(real_ext, 0);