diff options
Diffstat (limited to 'src/modules/loaders/loader_bz2.c')
-rw-r--r-- | src/modules/loaders/loader_bz2.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/modules/loaders/loader_bz2.c b/src/modules/loaders/loader_bz2.c index b7d1d4e..66575bc 100644 --- a/src/modules/loaders/loader_bz2.c +++ b/src/modules/loaders/loader_bz2.c @@ -45,12 +45,15 @@ uncompress_file(FILE * fp, int dest) int load2(ImlibImage * im, int load_data) { + int rc; ImlibLoader *loader; int dest, res; const char *s, *p, *q; char tmp[] = "/tmp/imlib2_loader_bz2-XXXXXX"; char *real_ext; + rc = LOAD_FAIL; + /* make sure this file ends in ".bz2" and that there's another ext * (e.g. "foo.png.bz2") */ for (p = s = im->real_file, q = NULL; *s; s++) @@ -61,18 +64,18 @@ load2(ImlibImage * im, int load_data) p = s + 1; } if (!q || strcasecmp(p, "bz2")) - return 0; + return rc; if (!(real_ext = strndup(q, p - q - 1))) - return 0; + return rc; loader = __imlib_FindBestLoaderForFormat(real_ext, 0); free(real_ext); if (!loader) - return 0; + return rc; if ((dest = mkstemp(tmp)) < 0) - return 0; + return rc; res = uncompress_file(im->fp, dest); close(dest); |