Module Name: src
Committed By: rillig
Date: Fri Oct 23 05:18:19 UTC 2020
Modified Files:
src/usr.bin/make: job.c
Log Message:
make(1): remove void pointers from JobPrintCommand
To generate a diff of this commit:
cvs rdiff -u -r1.268 -r1.269 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.268 src/usr.bin/make/job.c:1.269
--- src/usr.bin/make/job.c:1.268 Thu Oct 22 05:50:02 2020
+++ src/usr.bin/make/job.c Fri Oct 23 05:18:18 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: job.c,v 1.268 2020/10/22 05:50:02 rillig Exp $ */
+/* $NetBSD: job.c,v 1.269 2020/10/23 05:18:18 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -143,7 +143,7 @@
#include "trace.h"
/* "@(#)job.c 8.2 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: job.c,v 1.268 2020/10/22 05:50:02 rillig Exp $");
+MAKE_RCSID("$NetBSD: job.c,v 1.269 2020/10/23 05:18:18 rillig Exp $");
# define STATIC static
@@ -626,7 +626,7 @@ JobFindPid(int pid, int status, Boolean
* jobp job for which to print it
*
* Results:
- * 0, unless the command was "..."
+ * FALSE, unless the command was "..."
*
* Side Effects:
* If the command begins with a '-' and the shell has no error control,
@@ -636,9 +636,10 @@ JobFindPid(int pid, int status, Boolean
* numCommands is incremented if the command is actually printed.
*-----------------------------------------------------------------------
*/
-static int
-JobPrintCommand(void *cmdp, void *jobp)
+static Boolean
+JobPrintCommand(Job *job, char *cmd)
{
+ const char *const cmdp = cmd;
Boolean noSpecials; /* true if we shouldn't worry about
* inserting special commands into
* the input stream. */
@@ -651,8 +652,6 @@ JobPrintCommand(void *cmdp, void *jobp)
* command */
char *cmdStart; /* Start of expanded command */
char *escCmd = NULL; /* Command with quotes/backticks escaped */
- char *cmd = cmdp;
- Job *job = jobp;
noSpecials = NoExecute(job->node);
@@ -661,9 +660,9 @@ JobPrintCommand(void *cmdp, void *jobp)
if ((job->flags & JOB_IGNDOTS) == 0) {
StringListNode *dotsNode = Lst_FindDatum(job->node->commands, cmd);
job->tailCmds = dotsNode != NULL ? dotsNode->next : NULL;
- return 1;
+ return TRUE;
}
- return 0;
+ return FALSE;
}
#define DBPRINTF(fmt, arg) if (DEBUG(JOB)) { \
@@ -845,7 +844,17 @@ JobPrintCommand(void *cmdp, void *jobp)
if (shutUp && commandShell->hasEchoCtl) {
DBPRINTF("%s\n", commandShell->echoOn);
}
- return 0;
+ return FALSE;
+}
+
+static void
+JobPrintCommands(Job *job)
+{
+ StringListNode *ln;
+
+ for (ln = job->node->commands->first; ln != NULL; ln = ln->next)
+ if (JobPrintCommand(job, ln->datum))
+ break;
}
/* Save the delayed commands, to be executed when everything else is done. */
@@ -1520,7 +1529,7 @@ JobStart(GNode *gn, int flags)
* We can do all the commands at once. hooray for sanity
*/
numCommands = 0;
- Lst_ForEachUntil(gn->commands, JobPrintCommand, job);
+ JobPrintCommands(job);
/*
* If we didn't print out any commands to the shell script,
@@ -1546,9 +1555,8 @@ JobStart(GNode *gn, int flags)
* not -- just let the user know they're bad and keep going. It
* doesn't do any harm in this case and may do some good.
*/
- if (cmdsOK) {
- Lst_ForEachUntil(gn->commands, JobPrintCommand, job);
- }
+ if (cmdsOK)
+ JobPrintCommands(job);
/*
* Don't execute the shell, thank you.
*/