grep: Reverse some if-else logic

This way, people don't have to do double negatives in their head.
This commit is contained in:
Michael Forney 2016-05-13 23:34:50 -07:00 committed by sin
parent c7ea20a9cb
commit 8636c956d9

14
grep.c
View File

@ -114,23 +114,23 @@ grep(FILE *fp, const char *str)
if (len && buf[len - 1] == '\n')
buf[len - 1] = '\0';
SLIST_FOREACH(pnode, &phead, entry) {
if (!Fflag) {
if (regexec(&pnode->preg, buf, 0, NULL, 0) ^ vflag)
continue;
} else {
if (!xflag) {
if ((iflag ? strcasestr : strstr)(buf, pnode->pattern))
if (Fflag) {
if (xflag) {
if (!(iflag ? strcasecmp : strcmp)(buf, pnode->pattern))
match = Match;
else
match = NoMatch;
} else {
if (!(iflag ? strcasecmp : strcmp)(buf, pnode->pattern))
if ((iflag ? strcasestr : strstr)(buf, pnode->pattern))
match = Match;
else
match = NoMatch;
}
if (match ^ vflag)
continue;
} else {
if (regexec(&pnode->preg, buf, 0, NULL, 0) ^ vflag)
continue;
}
switch (mode) {
case 'c':