[dev] [sbase] [PATCH 1/3] grep: Reverse some if-else logic

From: Michael Forney <mforney_AT_mforney.org>
Date: Fri, 13 May 2016 23:34:50 -0700

This way, people don't have to do double negatives in their head.
---
 grep.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/grep.c b/grep.c
index 64ffbe2..ae23967 100644
--- a/grep.c
+++ b/grep.c
_AT_@ -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':
-- 
2.6.2
Received on Sat May 14 2016 - 08:34:50 CEST

This archive was generated by hypermail 2.3.0 : Sat May 14 2016 - 08:36:14 CEST