diff options
| author | Daniel Friesel <derf@finalrewind.org> | 2011-09-29 16:34:37 +0200 | 
|---|---|---|
| committer | Daniel Friesel <derf@finalrewind.org> | 2011-09-29 16:34:37 +0200 | 
| commit | 7281c129a9bf11594179a768aa34213fe69e98ed (patch) | |
| tree | a67bf0e25018c8a79096f499246e279fcc07dd19 | |
| parent | 88c1d182b11c442cf8c0930e682b7ad571e9212d (diff) | |
feh_printf: Check feh_file_info_load return status
| -rw-r--r-- | src/filelist.c | 9 | ||||
| -rw-r--r-- | 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; | 
