make: document two previously unknown bugs in job mode

This commit is contained in:
rillig 2021-04-15 18:21:27 +00:00
parent 0f62dc0eb2
commit d11aa0ae3d
1 changed files with 11 additions and 3 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: job.c,v 1.424 2021/04/04 10:05:08 rillig Exp $ */ /* $NetBSD: job.c,v 1.425 2021/04/15 18:21:27 rillig Exp $ */
/* /*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California. * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@ -142,7 +142,7 @@
#include "trace.h" #include "trace.h"
/* "@(#)job.c 8.2 (Berkeley) 3/19/94" */ /* "@(#)job.c 8.2 (Berkeley) 3/19/94" */
MAKE_RCSID("$NetBSD: job.c,v 1.424 2021/04/04 10:05:08 rillig Exp $"); MAKE_RCSID("$NetBSD: job.c,v 1.425 2021/04/15 18:21:27 rillig Exp $");
/* /*
* A shell defines how the commands are run. All commands for a target are * A shell defines how the commands are run. All commands for a target are
@ -1834,7 +1834,9 @@ again:
break; break;
} else if (job->outBuf[i] == '\0') { } else if (job->outBuf[i] == '\0') {
/* /*
* Why? * FIXME: The null characters are only replaced with
* space in the last line. Everywhere else they hide
* the rest of the command output.
*/ */
job->outBuf[i] = ' '; job->outBuf[i] = ' ';
} }
@ -1866,6 +1868,12 @@ again:
if (i >= job->curPos) { if (i >= job->curPos) {
char *cp; char *cp;
/*
* FIXME: SwitchOutputTo should be here, according to
* the comment above. But since PrintOutput does not
* do anything in the default shell, this bug has gone
* unnoticed until now.
*/
cp = PrintOutput(job->outBuf, &job->outBuf[i]); cp = PrintOutput(job->outBuf, &job->outBuf[i]);
/* /*