Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.bin/make make(1): inline Lst_ForEachUntil in Targ_PrintN...



details:   https://anonhg.NetBSD.org/src/rev/b7071e14854e
branches:  trunk
changeset: 976569:b7071e14854e
user:      rillig <rillig%NetBSD.org@localhost>
date:      Sun Sep 27 11:53:03 2020 +0000

description:
make(1): inline Lst_ForEachUntil in Targ_PrintNodes

Printing a node does not modify the structure of the node, therefore the
additional housekeeping of Lst_ForEachUntil is not needed here.

Inlining the callback function also removes a lot of pointer stuff that
is more difficult to read than necessary.

diffstat:

 usr.bin/make/targ.c |  22 ++++++++++------------
 1 files changed, 10 insertions(+), 12 deletions(-)

diffs (67 lines):

diff -r afe04df766ba -r b7071e14854e usr.bin/make/targ.c
--- a/usr.bin/make/targ.c       Sun Sep 27 11:43:46 2020 +0000
+++ b/usr.bin/make/targ.c       Sun Sep 27 11:53:03 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: targ.c,v 1.103 2020/09/27 01:07:12 mrg Exp $   */
+/*     $NetBSD: targ.c,v 1.104 2020/09/27 11:53:03 rillig Exp $        */
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -121,7 +121,7 @@
 #include         "dir.h"
 
 /*     "@(#)targ.c     8.2 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: targ.c,v 1.103 2020/09/27 01:07:12 mrg Exp $");
+MAKE_RCSID("$NetBSD: targ.c,v 1.104 2020/09/27 11:53:03 rillig Exp $");
 
 static GNodeList *allTargets;  /* the list of all targets found so far */
 #ifdef CLEANUP
@@ -435,16 +435,13 @@
     }
 }
 
-static int
-PrintNode(void *gnp, void *passp)
+static void
+PrintNode(GNode *gn, int pass)
 {
-    GNode *gn = gnp;
-    int pass = *(const int *)passp;
-
     fprintf(debug_file, "# %s%s", gn->name, gn->cohort_num);
     GNode_FprintDetails(debug_file, ", ", gn, "\n");
     if (gn->flags == 0)
-       return 0;
+       return;
 
     if (!OP_NOP(gn->type)) {
        fprintf(debug_file, "#\n");
@@ -493,23 +490,24 @@
        Targ_PrintCmds(gn);
        fprintf(debug_file, "\n\n");
        if (gn->type & OP_DOUBLEDEP) {
-           Lst_ForEachUntil(gn->cohorts, PrintNode, passp);
+           Targ_PrintNodes(gn->cohorts, pass);
        }
     }
-    return 0;
 }
 
 /* Print the contents of a node. */
 void
 Targ_PrintNode(GNode *gn, int pass)
 {
-    PrintNode(gn, &pass);
+    PrintNode(gn, pass);
 }
 
 void
 Targ_PrintNodes(GNodeList *gnodes, int pass)
 {
-    Lst_ForEachUntil(gnodes, PrintNode, &pass);
+    GNodeListNode *ln;
+    for (ln = gnodes->first; ln != NULL; ln = ln->next)
+       PrintNode(ln->datum, pass);
 }
 
 /* Print only those targets that are just a source. */



Home | Main Index | Thread Index | Old Index