From 29cd868898660c58b1925bf3647c4c63b7bd3151 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Thu, 15 Mar 2012 21:16:16 +0100 Subject: --(un|)loadable: indicate results in exit code --- ChangeLog | 1 + man/feh.pre | 2 ++ src/list.c | 7 ++++++- src/main.c | 2 +- test/feh.t | 12 ++++++------ 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4bf4a4b..9ea7774 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,7 @@ git HEAD disable it altogether * Clean up temporary / to-delete files when receiveng SIG{INT,TERM,QUIT} * Do not scroll past image borders when using key bindings + * --loadable / --unloadable: indicate result in exit status Tue, 06 Mar 2012 13:13:35 +0100 Daniel Friesel diff --git a/man/feh.pre b/man/feh.pre index 48d7778..ecd35ec 100644 --- a/man/feh.pre +++ b/man/feh.pre @@ -383,6 +383,7 @@ size/resolution/type etc. . Don't display images. Just print out their names if imlib2 can successfully load them. +Returns false if at least one image failed to load. . .It Cm -M , --menu-font Ar font . @@ -550,6 +551,7 @@ mode. See . Don't display images. Just print out their names if imlib2 can NOT successfully load them. +Returns false if at least one image was loadable. . .It Cm -V , --verbose . diff --git a/src/list.c b/src/list.c index 17fcbcc..2affe85 100644 --- a/src/list.c +++ b/src/list.c @@ -77,6 +77,7 @@ void real_loadables_mode(int loadable) { feh_file *file; gib_list *l; + char ret = 0; opt.quiet = 1; @@ -91,6 +92,8 @@ void real_loadables_mode(int loadable) puts(file->filename); feh_action_run(file, opt.actions[0]); } + else + ret = 1; gib_imlib_free_image_and_decache(im); } else { /* Oh dear. */ @@ -98,7 +101,9 @@ void real_loadables_mode(int loadable) puts(file->filename); feh_action_run(file, opt.actions[0]); } + else + ret = 1; } } - exit(0); + exit(ret); } diff --git a/src/main.c b/src/main.c index a5694fb..e6239e1 100644 --- a/src/main.c +++ b/src/main.c @@ -44,12 +44,12 @@ int main(int argc, char **argv) init_parse_options(argc, argv); init_imlib_fonts(); + setup_signal_handlers(); if (opt.display) { init_x_and_imlib(); init_keyevents(); init_buttonbindings(); - setup_signal_handlers(); } feh_event_init(); diff --git a/test/feh.t b/test/feh.t index 1c6556c..8746362 100644 --- a/test/feh.t +++ b/test/feh.t @@ -45,7 +45,7 @@ $cmd->stderr_is_eq(''); $cmd = Test::Command->new(cmd => "$feh --loadable $images"); -$cmd->exit_is_num(0); +$cmd->exit_is_num(1); $cmd->stdout_like($re_loadable); $cmd->stderr_is_eq(''); @@ -53,7 +53,7 @@ $cmd = Test::Command->new( cmd => "$feh --loadable --action 'echo touch %f' $images" ); -$cmd->exit_is_num(0); +$cmd->exit_is_num(1); $cmd->stdout_is_file('test/nx_action/loadable_action'); $cmd->stderr_is_eq(''); @@ -61,7 +61,7 @@ $cmd = Test::Command->new( cmd => "$feh --loadable --action ';echo touch %f' $images" ); -$cmd->exit_is_num(0); +$cmd->exit_is_num(1); $cmd->stdout_is_file('test/nx_action/loadable_naction'); $cmd->stderr_is_eq(''); @@ -69,7 +69,7 @@ $cmd = Test::Command->new( cmd => "$feh --unloadable --action 'echo rm %f' $images" ); -$cmd->exit_is_num(0); +$cmd->exit_is_num(1); $cmd->stdout_is_file('test/nx_action/unloadable_action'); $cmd->stderr_is_eq(''); @@ -77,13 +77,13 @@ $cmd = Test::Command->new( cmd => "$feh --unloadable --action ';echo rm %f' $images" ); -$cmd->exit_is_num(0); +$cmd->exit_is_num(1); $cmd->stdout_is_file('test/nx_action/unloadable_naction'); $cmd->stderr_is_eq(''); $cmd = Test::Command->new(cmd => "$feh --unloadable $images"); -$cmd->exit_is_num(0); +$cmd->exit_is_num(1); $cmd->stdout_like($re_unloadable); $cmd->stderr_is_eq(''); -- cgit v1.2.3