diff options
author | "Vladimir N. Oleynik" <dzo@simtreas.ru> | 2005-09-23 13:23:15 +0000 |
---|---|---|
committer | "Vladimir N. Oleynik" <dzo@simtreas.ru> | 2005-09-23 13:23:15 +0000 |
commit | cf40d8175b230e01eef7a1a0d1c7cb8d1409dab5 (patch) | |
tree | 7d0f12ea2040bfbde10bdfcdf65aa88f6708e8cb | |
parent | b628409b1e18aa6cdcf485077a3a64276e817db9 (diff) | |
download | busybox-cf40d8175b230e01eef7a1a0d1c7cb8d1409dab5.tar.gz |
grep must have exit code >1 if input file not found. Small indent correcion also.
-rw-r--r-- | findutils/grep.c | 8 |
1 files 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 */ } |