URI: 
       tRemove unloadable files from argument list so they are ignored subsequently - croptool - Image cropping tool
  HTML git clone git://lumidify.org/croptool.git (fast, but not encrypted)
  HTML git clone https://lumidify.org/git/croptool.git (encrypted, but very slow)
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 8534d8a6dd745e8007bba613c034fe1d0aef8da5
   DIR parent 89b192cbe0b959ae29cbdf20e955452d39e235a2
  HTML 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:
         M croptool.1                          |       6 +++---
         M croptool.c                          |       6 ++++++
       
       2 files changed, 9 insertions(+), 3 deletions(-)
       ---
   DIR diff --git a/croptool.1 b/croptool.1
       t@@ -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
       t@@ -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,
   DIR diff --git a/croptool.c b/croptool.c
       t@@ -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) {
       t@@ -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;
                        }
                }