aboutsummaryrefslogtreecommitdiff
path: root/toys/posix/grep.c
diff options
context:
space:
mode:
Diffstat (limited to 'toys/posix/grep.c')
-rw-r--r--toys/posix/grep.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/toys/posix/grep.c b/toys/posix/grep.c
index c88d4c65..5afe38ca 100644
--- a/toys/posix/grep.c
+++ b/toys/posix/grep.c
@@ -173,14 +173,13 @@ static void do_grep(int fd, char *name)
for (seek = TT.e; seek; seek = seek->next) {
if (FLAG(x)) {
- if ((FLAG(i) ? strcasecmp : strcmp)(seek->arg, line)) s = line;
+ if (!(FLAG(i) ? strcasecmp : strcmp)(seek->arg, line)) s = line;
} else if (!*seek->arg) {
seek = &fseek;
fseek.arg = s = line;
- break;
- }
- if (FLAG(i)) s = strcasestr(line, seek->arg);
+ } else if (FLAG(i)) s = strcasestr(line, seek->arg);
else s = strstr(line, seek->arg);
+
if (s) break;
}