commit 8534d8a6dd745e8007bba613c034fe1d0aef8da5
parent 89b192cbe0b959ae29cbdf20e955452d39e235a2
Author: lumidify <nobody@lumidify.org>
Date: Sun, 7 Mar 2021 21:53:19 +0100
Remove unloadable files from argument list so they are ignored subsequently
Diffstat:
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/croptool.1 b/croptool.1
@@ -74,11 +74,11 @@ Print the location of the top side of the cropping rectangle in pixels.
Print the location of the bottom side of the cropping rectangle in pixels.
.It %f
Print the filename of the image.
-Warning: This is printed out as is, without any escaping.
+Warning: This is printed as is, without any escaping.
.El
.Pp
If an unknown substitution is encountered, a warning is printed to
-standard error and the characters are printed out verbatim.
+standard error and the characters are printed verbatim.
.Sh KEYBINDS
.Bl -tag -width Ds
.It ARROW LEFT
@@ -150,7 +150,7 @@ filenames containing quotes).
.Sh AUTHORS
.An lumidify Aq Mt nobody@lumidify.org
.Sh BUGS
-The filenames are printed out without any escaping, so filenames with
+The filenames are printed without any escaping, so filenames with
quotes may cause issues depending on the output format.
.Pp
Transparent portions of images should probably be shown differently,
diff --git a/croptool.c b/croptool.c
@@ -1000,12 +1000,15 @@ next_picture(int copy_box) {
/* loop until we find a loadable file */
while (!tmp_image && tmp_cur_selection + 1 < state.num_files) {
tmp_cur_selection++;
+ if (!state.filenames[tmp_cur_selection])
+ continue;
tmp_image = imlib_load_image_immediately(
state.filenames[tmp_cur_selection]
);
if (!tmp_image) {
fprintf(stderr, "Warning: Unable to load image '%s'.\n",
state.filenames[tmp_cur_selection]);
+ state.filenames[tmp_cur_selection] = NULL;
}
}
if (state.cur_selection < 0 && !tmp_image) {
@@ -1029,12 +1032,15 @@ last_picture(void) {
/* loop until we find a loadable file */
while (!tmp_image && tmp_cur_selection > 0) {
tmp_cur_selection--;
+ if (!state.filenames[tmp_cur_selection])
+ continue;
tmp_image = imlib_load_image_immediately(
state.filenames[tmp_cur_selection]
);
if (!tmp_image) {
fprintf(stderr, "Warning: Unable to load image '%s'.\n",
state.filenames[tmp_cur_selection]);
+ state.filenames[tmp_cur_selection] = NULL;
}
}