Module Name:    src
Committed By:   rillig
Date:           Fri Sep 25 06:49:13 UTC 2020

Modified Files:
        src/usr.bin/make: arch.c dir.c

Log Message:
make(1): replace a few calls to Lst_Open with simple loops

This avoids relying on the internal iterator of the list, which is
supposed to be removed in the near future.


To generate a diff of this commit:
cvs rdiff -u -r1.118 -r1.119 src/usr.bin/make/arch.c
cvs rdiff -u -r1.146 -r1.147 src/usr.bin/make/dir.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/arch.c
diff -u src/usr.bin/make/arch.c:1.118 src/usr.bin/make/arch.c:1.119
--- src/usr.bin/make/arch.c:1.118	Tue Sep 22 20:19:46 2020
+++ src/usr.bin/make/arch.c	Fri Sep 25 06:49:13 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: arch.c,v 1.118 2020/09/22 20:19:46 rillig Exp $	*/
+/*	$NetBSD: arch.c,v 1.119 2020/09/25 06:49:13 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -133,7 +133,7 @@
 #include    "config.h"
 
 /*	"@(#)arch.c	8.2 (Berkeley) 1/2/94"	*/
-MAKE_RCSID("$NetBSD: arch.c,v 1.118 2020/09/22 20:19:46 rillig Exp $");
+MAKE_RCSID("$NetBSD: arch.c,v 1.119 2020/09/25 06:49:13 rillig Exp $");
 
 #ifdef TARGET_MACHINE
 #undef MAKE_MACHINE
@@ -1026,11 +1026,9 @@ time_t
 Arch_MemMTime(GNode *gn)
 {
     GNodeListNode *ln;
-    GNode   	  *pgn;
 
-    Lst_Open(gn->parents);
-    while ((ln = Lst_Next(gn->parents)) != NULL) {
-	pgn = LstNode_Datum(ln);
+    for (ln = gn->parents->first; ln != NULL; ln = ln->next) {
+	GNode *pgn = ln->datum;
 
 	if (pgn->type & OP_ARCHV) {
 	    /*
@@ -1058,8 +1056,6 @@ Arch_MemMTime(GNode *gn)
 	}
     }
 
-    Lst_Close(gn->parents);
-
     return gn->mtime;
 }
 

Index: src/usr.bin/make/dir.c
diff -u src/usr.bin/make/dir.c:1.146 src/usr.bin/make/dir.c:1.147
--- src/usr.bin/make/dir.c:1.146	Thu Sep 24 07:49:58 2020
+++ src/usr.bin/make/dir.c	Fri Sep 25 06:49:13 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: dir.c,v 1.146 2020/09/24 07:49:58 rillig Exp $	*/
+/*	$NetBSD: dir.c,v 1.147 2020/09/25 06:49:13 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -134,7 +134,7 @@
 #include "job.h"
 
 /*	"@(#)dir.c	8.2 (Berkeley) 1/2/94"	*/
-MAKE_RCSID("$NetBSD: dir.c,v 1.146 2020/09/24 07:49:58 rillig Exp $");
+MAKE_RCSID("$NetBSD: dir.c,v 1.147 2020/09/25 06:49:13 rillig Exp $");
 
 #define DIR_DEBUG0(fmt) \
     if (!DEBUG(DIR)) (void) 0; else fprintf(debug_file, fmt)
@@ -747,21 +747,18 @@ static void
 DirExpandInt(const char *word, SearchPath *path, StringList *expansions)
 {
     SearchPathNode *ln;
-
-    Lst_Open(path);
-    while ((ln = Lst_Next(path)) != NULL) {
-	CachedDir *dir = LstNode_Datum(ln);
+    for (ln = path->first; ln != NULL; ln = ln->next) {
+	CachedDir *dir = ln->datum;
 	DirMatchFiles(word, dir, expansions);
     }
-    Lst_Close(path);
 }
 
 static void
 DirPrintExpansions(StringList *words)
 {
-    StringListNode *node;
-    for (node = Lst_First(words); node != NULL; node = LstNode_Next(node)) {
-	const char *word = LstNode_Datum(node);
+    StringListNode *ln;
+    for (ln = words->first; ln != NULL; ln = ln->next) {
+	const char *word = ln->datum;
 	fprintf(debug_file, "%s ", word);
     }
     fprintf(debug_file, "\n");
@@ -1611,14 +1608,12 @@ Dir_MakeFlags(const char *flag, SearchPa
     Buf_Init(&buf, 0);
 
     if (path != NULL) {
-	Lst_Open(path);
-	while ((ln = Lst_Next(path)) != NULL) {
-	    CachedDir *dir = LstNode_Datum(ln);
+	for (ln = path->first; ln != NULL; ln = ln->next) {
+	    CachedDir *dir = ln->datum;
 	    Buf_AddStr(&buf, " ");
 	    Buf_AddStr(&buf, flag);
 	    Buf_AddStr(&buf, dir->name);
 	}
-	Lst_Close(path);
     }
 
     return Buf_Destroy(&buf, FALSE);
@@ -1740,13 +1735,11 @@ Dir_PrintDirectories(void)
 	    percentage(hits, hits + bigmisses + nearmisses));
     fprintf(debug_file, "# %-20s referenced\thits\n", "directory");
 
-    Lst_Open(openDirectories);
-    while ((ln = Lst_Next(openDirectories)) != NULL) {
-	CachedDir *dir = LstNode_Datum(ln);
+    for (ln = openDirectories->first; ln != NULL; ln = ln->next) {
+	CachedDir *dir = ln->datum;
 	fprintf(debug_file, "# %-20s %10d\t%4d\n", dir->name, dir->refCount,
 		dir->hits);
     }
-    Lst_Close(openDirectories);
 }
 
 void

Reply via email to