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");
 

Reply via email to