diff --git a/usr.bin/grep/grep.c b/usr.bin/grep/grep.c index 288df901727..4eb4727296a 100644 --- a/usr.bin/grep/grep.c +++ b/usr.bin/grep/grep.c @@ -148,7 +148,7 @@ static inline const char *init_color(const char *); bool first = true; /* flag whether we are processing the first match */ bool prev; /* flag whether or not the previous line matched */ int tail; /* lines left to print */ -bool notfound; /* file not found */ +bool file_err; /* file reading error */ /* * Prints usage information and returns 2. @@ -728,5 +728,5 @@ main(int argc, char *argv[]) /* Find out the correct return value according to the results and the command line option. */ - exit(c ? (notfound ? (qflag ? 0 : 2) : 0) : (notfound ? 2 : 1)); + exit(c ? (file_err ? (qflag ? 0 : 2) : 0) : (file_err ? 2 : 1)); } diff --git a/usr.bin/grep/grep.h b/usr.bin/grep/grep.h index 47d4ab937a2..2a8f4255429 100644 --- a/usr.bin/grep/grep.h +++ b/usr.bin/grep/grep.h @@ -119,7 +119,7 @@ extern char *label; extern const char *color; extern int binbehave, devbehave, dirbehave, filebehave, grepbehave, linkbehave; -extern bool first, matchall, notfound, prev; +extern bool file_err, first, matchall, prev; extern int tail; extern unsigned int dpatterns, fpatterns, patterns; extern struct pat *pattern; diff --git a/usr.bin/grep/util.c b/usr.bin/grep/util.c index 75ed1078a0d..4fb12406f30 100644 --- a/usr.bin/grep/util.c +++ b/usr.bin/grep/util.c @@ -130,7 +130,7 @@ grep_tree(char **argv) case FTS_DNR: /* FALLTHROUGH */ case FTS_ERR: - notfound = true; + file_err = true; if(!sflag) warnx("%s: %s", p->fts_path, strerror(p->fts_errno)); break; @@ -195,10 +195,9 @@ procfile(const char *fn) f = grep_open(fn); } if (f == NULL) { + file_err = true; if (!sflag) warn("%s", fn); - if (errno == ENOENT) - notfound = true; return (0); }