Module Name:    src
Committed By:   rillig
Date:           Sat Sep  3 08:41:07 UTC 2022

Modified Files:
        src/usr.bin/make: job.c

Log Message:
make: untangle output handling in jobs mode, remove redundant braces

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.454 -r1.455 src/usr.bin/make/job.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/make/job.c
diff -u src/usr.bin/make/job.c:1.454 src/usr.bin/make/job.c:1.455
--- src/usr.bin/make/job.c:1.454	Sat Sep  3 08:03:27 2022
+++ src/usr.bin/make/job.c	Sat Sep  3 08:41:07 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: job.c,v 1.454 2022/09/03 08:03:27 rillig Exp $	*/
+/*	$NetBSD: job.c,v 1.455 2022/09/03 08:41:07 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -142,7 +142,7 @@
 #include "trace.h"
 
 /*	"@(#)job.c	8.2 (Berkeley) 3/19/94"	*/
-MAKE_RCSID("$NetBSD: job.c,v 1.454 2022/09/03 08:03:27 rillig Exp $");
+MAKE_RCSID("$NetBSD: job.c,v 1.455 2022/09/03 08:41:07 rillig Exp $");
 
 /*
  * A shell defines how the commands are run.  All commands for a target are
@@ -1836,37 +1836,31 @@ again:
 	if (nRead < 0) {
 		if (errno == EAGAIN)
 			return;
-		if (DEBUG(JOB)) {
+		if (DEBUG(JOB))
 			perror("CollectOutput(piperead)");
-		}
 		nr = 0;
-	} else {
+	} else
 		nr = (size_t)nRead;
-	}
+
+	if (nr == 0)
+		finish = false;	/* stop looping */
 
 	/*
 	 * If we hit the end-of-file (the job is dead), we must flush its
 	 * remaining output, so pretend we read a newline if there's any
 	 * output remaining in the buffer.
-	 * Also clear the 'finish' flag so we stop looping.
 	 */
 	if (nr == 0 && job->curPos != 0) {
 		job->outBuf[job->curPos] = '\n';
 		nr = 1;
-		finish = false;
-	} else if (nr == 0) {
-		finish = false;
 	}
 
-	/*
-	 * Look for the last newline in the bytes we just got. If there is
-	 * one, break out of the loop with 'i' as its index and gotNL set
-	 * true.
-	 */
 	max = job->curPos + nr;
 	for (i = job->curPos; i < max; i++)
 		if (job->outBuf[i] == '\0')
 			job->outBuf[i] = ' ';
+
+	/* Look for the last newline in the bytes we just got. */
 	for (i = job->curPos + nr - 1;
 	     i >= job->curPos && i != (size_t)-1; i--) {
 		if (job->outBuf[i] == '\n') {

Reply via email to