diff options
author | Kim Woelders <kim@woelders.dk> | 2020-02-27 17:40:52 +0100 |
---|---|---|
committer | Kim Woelders <kim@woelders.dk> | 2020-02-27 21:20:36 +0100 |
commit | ac41eae7fa3c5b6d5dcd63413325530761276e2e (patch) | |
tree | 9cf7007971493be08d5de8ad7b3eb337eb655519 | |
parent | 97865ad8ef526804f25750ededf89cd6f8acd1c5 (diff) | |
download | imlib2-ac41eae7fa3c5b6d5dcd63413325530761276e2e.tar.gz |
GZ, BZ2 loaders: Accept more file names
E.g. ".png.gz", "png.gz", ".../png.gz".
-rw-r--r-- | src/modules/loaders/loader_bz2.c | 10 | ||||
-rw-r--r-- | 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); |