From cf40d8175b230e01eef7a1a0d1c7cb8d1409dab5 Mon Sep 17 00:00:00 2001 From: "\"Vladimir N. Oleynik\"" Date: Fri, 23 Sep 2005 13:23:15 +0000 Subject: grep must have exit code >1 if input file not found. Small indent correcion also. --- findutils/grep.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/findutils/grep.c b/findutils/grep.c index a705df912..c3feb2018 100644 --- a/findutils/grep.c +++ b/findutils/grep.c @@ -260,6 +260,7 @@ extern int grep_main(int argc, char **argv) int matched; unsigned long opt; llist_t *fopt = NULL; + int error_open_count = 0; /* do normal option parsing */ #ifdef CONFIG_FEATURE_GREP_CONTEXT @@ -375,6 +376,7 @@ extern int grep_main(int argc, char **argv) if (file == NULL) { if (!suppress_err_msgs) bb_perror_msg("%s", cur_file); + error_open_count++; } else { matched += grep_file(file); if(matched < 0) { @@ -382,9 +384,9 @@ extern int grep_main(int argc, char **argv) * return success */ break; } - fclose(file); - } + fclose(file); } + } #ifdef CONFIG_FEATURE_CLEAN_UP /* destroy all the elments in the pattern list */ @@ -396,5 +398,7 @@ extern int grep_main(int argc, char **argv) } #endif + if(error_open_count) + return 2; return !matched; /* invert return value 0 = success, 1 = failed */ } -- cgit v1.2.3