Module Name: src
Committed By: rillig
Date: Sun Nov 29 01:19:11 UTC 2020
Modified Files:
src/usr.bin/make: suff.c
Log Message:
make(1): reduce memory allocation in ExpandWildcards for suffixes
To generate a diff of this commit:
cvs rdiff -u -r1.319 -r1.320 src/usr.bin/make/suff.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/suff.c
diff -u src/usr.bin/make/suff.c:1.319 src/usr.bin/make/suff.c:1.320
--- src/usr.bin/make/suff.c:1.319 Sun Nov 29 01:16:37 2020
+++ src/usr.bin/make/suff.c Sun Nov 29 01:19:11 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: suff.c,v 1.319 2020/11/29 01:16:37 rillig Exp $ */
+/* $NetBSD: suff.c,v 1.320 2020/11/29 01:19:11 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -114,7 +114,7 @@
#include "dir.h"
/* "@(#)suff.c 8.4 (Berkeley) 3/21/94" */
-MAKE_RCSID("$NetBSD: suff.c,v 1.319 2020/11/29 01:16:37 rillig Exp $");
+MAKE_RCSID("$NetBSD: suff.c,v 1.320 2020/11/29 01:19:11 rillig Exp $");
#define SUFF_DEBUG0(text) DEBUG0(SUFF, text)
#define SUFF_DEBUG1(fmt, arg1) DEBUG1(SUFF, fmt, arg1)
@@ -1182,7 +1182,7 @@ static void
ExpandWildcards(GNodeListNode *cln, GNode *pgn)
{
GNode *cgn = cln->datum;
- StringList *expansions;
+ StringList expansions;
if (!Dir_HasWildcards(cgn->name))
return;
@@ -1190,15 +1190,15 @@ ExpandWildcards(GNodeListNode *cln, GNod
/*
* Expand the word along the chosen path
*/
- expansions = Lst_New();
- Dir_Expand(cgn->name, Suff_FindPath(cgn), expansions);
+ Lst_Init(&expansions);
+ Dir_Expand(cgn->name, Suff_FindPath(cgn), &expansions);
- while (!Lst_IsEmpty(expansions)) {
+ while (!Lst_IsEmpty(&expansions)) {
GNode *gn;
/*
* Fetch next expansion off the list and find its GNode
*/
- char *cp = Lst_Dequeue(expansions);
+ char *cp = Lst_Dequeue(&expansions);
SUFF_DEBUG1("%s...", cp);
gn = Targ_GetNode(cp);
@@ -1209,7 +1209,7 @@ ExpandWildcards(GNodeListNode *cln, GNod
pgn->unmade++;
}
- Lst_Free(expansions);
+ Lst_Done(&expansions);
SUFF_DEBUG0("\n");