Commit 7281c129 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

feh_printf: Check feh_file_info_load return status

parent 88c1d182
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -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);
}
+5 −15
Original line number Diff line number Diff line
@@ -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;