From 7281c129a9bf11594179a768aa34213fe69e98ed Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Thu, 29 Sep 2011 16:34:37 +0200 Subject: feh_printf: Check feh_file_info_load return status --- src/filelist.c | 9 ++++----- src/slideshow.c | 20 +++++--------------- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/src/filelist.c b/src/filelist.c index 215f371..23239f9 100644 --- a/src/filelist.c +++ b/src/filelist.c @@ -321,11 +321,10 @@ int feh_file_info_load(feh_file * file, Imlib_Image im) if (im) im1 = im; - else if (!feh_load_image(&im1, file)) - return(1); - - if (!im1) + else if (!feh_load_image(&im1, file) || !im1) { + weprintf("couldn't load %s", file->filename); return(1); + } file->info = feh_file_info_new(); @@ -340,7 +339,7 @@ int feh_file_info_load(feh_file * file, Imlib_Image im) file->info->size = st.st_size; - if (need_free && im1) + if (need_free) gib_imlib_free_image_and_decache(im1); return(0); } diff --git a/src/slideshow.c b/src/slideshow.c index e6ffb56..52ef4b3 100644 --- a/src/slideshow.c +++ b/src/slideshow.c @@ -402,41 +402,31 @@ char *feh_printf(char *str, feh_file * file) strcat(ret, file->name); break; case 'w': - if (file) { - if (!file->info) - feh_file_info_load(file, NULL); + if (file && (file->info || !feh_file_info_load(file, NULL))) { snprintf(buf, sizeof(buf), "%d", file->info->width); strcat(ret, buf); } break; case 'h': - if (file) { - if (!file->info) - feh_file_info_load(file, NULL); + if (file && (file->info || !feh_file_info_load(file, NULL))) { snprintf(buf, sizeof(buf), "%d", file->info->height); strcat(ret, buf); } break; case 's': - if (file) { - if (!file->info) - feh_file_info_load(file, NULL); + if (file && (file->info || !feh_file_info_load(file, NULL))) { snprintf(buf, sizeof(buf), "%d", file->info->size); strcat(ret, buf); } break; case 'p': - if (file) { - if (!file->info) - feh_file_info_load(file, NULL); + if (file && (file->info || !feh_file_info_load(file, NULL))) { snprintf(buf, sizeof(buf), "%d", file->info->pixels); strcat(ret, buf); } break; case 't': - if (file) { - if (!file->info) - feh_file_info_load(file, NULL); + if (file && (file->info || !feh_file_info_load(file, NULL))) { strcat(ret, file->info->format); } break; -- cgit v1.2.3