sbase

suckless unix tools
git clone git://git.suckless.org/sbase
Log | Files | Refs | README | LICENSE

commit e6b3af07cf5488dde5da9bc7f15353c06216e51c
parent 8636c956d954c589565fca21c820354bc19c4384
Author: Michael Forney <mforney@mforney.org>
Date:   Fri, 13 May 2016 23:34:51 -0700

grep: Fix exit status with -F when last line doesn't match

Test case:

if printf '%s\n' foo bar | ./grep -F foo >/dev/null ; then
	echo pass
else
	echo fail
fi

Diffstat:
Mgrep.c | 8++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/grep.c b/grep.c @@ -107,7 +107,7 @@ grep(FILE *fp, const char *str) ssize_t len = 0; long c = 0, n; struct pattern *pnode; - int match = NoMatch; + int match, result = NoMatch; for (n = 1; (len = getline(&buf, &size, fp)) > 0; n++) { /* Remove the trailing newline if one is present. */ @@ -149,7 +149,7 @@ grep(FILE *fp, const char *str) puts(buf); break; } - match = Match; + result = Match; break; } } @@ -158,9 +158,9 @@ grep(FILE *fp, const char *str) end: if (ferror(fp)) { weprintf("%s: read error:", str); - match = Error; + result = Error; } - return match; + return result; } static void