Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Jun 2018 18:11:46 +0000 (UTC)
From:      Kyle Evans <kevans@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r334889 - head/usr.bin/grep
Message-ID:  <201806091811.w59IBk2o027834@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kevans
Date: Sat Jun  9 18:11:46 2018
New Revision: 334889
URL: https://svnweb.freebsd.org/changeset/base/334889

Log:
  bsdgrep(1): Some more int -> bool conversions and name changes
  
  Again motivated by upcoming work to rewrite a bunch of this- single-letter
  variable names and slightly misleading variable names ("lastmatches" to
  indicate that the last matched) are not helpful.

Modified:
  head/usr.bin/grep/util.c

Modified: head/usr.bin/grep/util.c
==============================================================================
--- head/usr.bin/grep/util.c	Sat Jun  9 17:49:43 2018	(r334888)
+++ head/usr.bin/grep/util.c	Sat Jun  9 18:11:46 2018	(r334889)
@@ -74,7 +74,7 @@ static bool procmatches(struct mprintc *mc, struct par
 static int litexec(const struct pat *pat, const char *string,
     size_t nmatch, regmatch_t pmatch[]);
 #endif
-static int procline(struct parsec *pc);
+static bool procline(struct parsec *pc);
 static void printline(struct parsec *pc, int sep);
 static void printline_metadata(struct str *line, int sep);
 
@@ -210,7 +210,7 @@ procmatch_match(struct mprintc *mc, struct parsec *pc)
 		while (pc->matchidx >= MAX_MATCHES) {
 			/* Reset matchidx and try again */
 			pc->matchidx = 0;
-			if (procline(pc) == 0)
+			if (procline(pc))
 				printline(pc, ':');
 			else
 				break;
@@ -283,7 +283,8 @@ procfile(const char *fn)
 	struct file *f;
 	struct stat sb;
 	mode_t s;
-	int lines, t;
+	int lines;
+	bool line_matched;
 
 	if (strcmp(fn, "-") == 0) {
 		fn = label != NULL ? label : errstr[1];
@@ -316,6 +317,7 @@ procfile(const char *fn)
 	pc.cntlines = false;
 	memset(&mc, 0, sizeof(mc));
 	mc.printmatch = true;
+	line_matched = false;
 	if ((pc.binary && binbehave == BINFILE_BIN) || cflag || qflag ||
 	    lflag || Lflag)
 		mc.printmatch = false;
@@ -354,11 +356,12 @@ procfile(const char *fn)
 			return (0);
 		}
 
-		if ((t = procline(&pc)) == 0)
+		line_matched = procline(&pc);
+		if (line_matched)
 			++lines;
 
 		/* Halt processing if we hit our match limit */
-		if (!procmatches(&mc, &pc, t == 0))
+		if (!procmatches(&mc, &pc, line_matched))
 			break;
 	}
 	if (Bflag > 0)
@@ -453,31 +456,33 @@ litexec(const struct pat *pat, const char *string, siz
  * matches.  The matching lines are passed to printline() to display the
  * appropriate output.
  */
-static int
+static bool
 procline(struct parsec *pc)
 {
 	regmatch_t pmatch, lastmatch, chkmatch;
 	wchar_t wbegin, wend;
 	size_t st, nst;
 	unsigned int i;
-	int c = 0, r = 0, lastmatches = 0, leflags = eflags;
+	int r = 0, leflags = eflags;
 	size_t startm = 0, matchidx;
 	unsigned int retry;
+	bool lastmatched, matched;
 
 	matchidx = pc->matchidx;
 
 	/* Special case: empty pattern with -w flag, check first character */
 	if (matchall && wflag) {
 		if (pc->ln.len == 0)
-			return (0);
+			return (true);
 		wend = L' ';
 		if (sscanf(&pc->ln.dat[0], "%lc", &wend) != 1 || iswword(wend))
-			return (1);
+			return (false);
 		else
-			return (0);
+			return (true);
 	} else if (matchall)
-		return (0);
+		return (true);
 
+	matched = false;
 	st = pc->lnstart;
 	nst = 0;
 	/* Initialize to avoid a false positive warning from GCC. */
@@ -485,7 +490,7 @@ procline(struct parsec *pc)
 
 	/* Loop to process the whole line */
 	while (st <= pc->ln.len) {
-		lastmatches = 0;
+		lastmatched = false;
 		startm = matchidx;
 		retry = 0;
 		if (st > 0 && pc->ln.dat[st - 1] != fileeol)
@@ -537,11 +542,11 @@ procline(struct parsec *pc)
 				if (r == REG_NOMATCH)
 					continue;
 			}
-			lastmatches++;
+			lastmatched = true;
 			lastmatch = pmatch;
 
 			if (matchidx == 0)
-				c++;
+				matched = true;
 
 			/*
 			 * Replace previous match if the new one is earlier
@@ -567,7 +572,7 @@ procline(struct parsec *pc)
 			if ((color == NULL && !oflag) || qflag || lflag ||
 			    matchidx >= MAX_MATCHES) {
 				pc->lnstart = nst;
-				lastmatches = 0;
+				lastmatched = false;
 				break;
 			}
 		}
@@ -577,7 +582,7 @@ procline(struct parsec *pc)
 		 * again just in case we still have a chance to match later in
 		 * the string.
 		 */
-		if (lastmatches == 0 && retry > pc->lnstart) {
+		if (!lastmatched && retry > pc->lnstart) {
 			st = retry;
 			continue;
 		}
@@ -588,10 +593,10 @@ procline(struct parsec *pc)
 			break;
 
 		/* If we didn't have any matches or REG_NOSUB set */
-		if (lastmatches == 0 || (cflags & REG_NOSUB))
+		if (!lastmatched || (cflags & REG_NOSUB))
 			nst = pc->ln.len;
 
-		if (lastmatches == 0)
+		if (!lastmatched)
 			/* No matches */
 			break;
 		else if (st == nst && lastmatch.rm_so == lastmatch.rm_eo)
@@ -606,8 +611,8 @@ procline(struct parsec *pc)
 	/* Reflect the new matchidx in the context */
 	pc->matchidx = matchidx;
 	if (vflag)
-		c = !c;
-	return (c ? 0 : 1);
+		matched = !matched;
+	return matched;
 }
 
 /*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201806091811.w59IBk2o027834>