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