Module Name: src
Committed By: rillig
Date: Sun Nov 29 01:16:38 UTC 2020
Modified Files:
src/usr.bin/make: suff.c
Log Message:
make(1): reduce memory allocation in ExpandChildren for suffixes
To generate a diff of this commit:
cvs rdiff -u -r1.318 -r1.319 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.318 src/usr.bin/make/suff.c:1.319
--- src/usr.bin/make/suff.c:1.318 Sun Nov 29 01:12:45 2020
+++ src/usr.bin/make/suff.c Sun Nov 29 01:16:37 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: suff.c,v 1.318 2020/11/29 01:12:45 rillig Exp $ */
+/* $NetBSD: suff.c,v 1.319 2020/11/29 01:16:37 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.318 2020/11/29 01:12:45 rillig Exp $");
+MAKE_RCSID("$NetBSD: suff.c,v 1.319 2020/11/29 01:16:37 rillig Exp $");
#define SUFF_DEBUG0(text) DEBUG0(SUFF, text)
#define SUFF_DEBUG1(fmt, arg1) DEBUG1(SUFF, fmt, arg1)
@@ -1263,7 +1263,7 @@ ExpandChildren(GNodeListNode *cln, GNode
/* TODO: handle errors */
{
- GNodeList *members = Lst_New();
+ GNodeList members = LST_INIT;
if (cgn->type & OP_ARCHV) {
/*
@@ -1273,7 +1273,7 @@ ExpandChildren(GNodeListNode *cln, GNode
*/
char *sacrifice = cp;
- (void)Arch_ParseArchive(&sacrifice, members, pgn);
+ (void)Arch_ParseArchive(&sacrifice, &members, pgn);
} else {
/*
* Break the result into a vector of strings whose nodes
@@ -1296,7 +1296,7 @@ ExpandChildren(GNodeListNode *cln, GNode
*/
*cp++ = '\0';
gn = Targ_GetNode(start);
- Lst_Append(members, gn);
+ Lst_Append(&members, gn);
pp_skip_hspace(&cp);
start = cp; /* Continue at the next non-space. */
} else if (*cp == '$') {
@@ -1335,7 +1335,7 @@ ExpandChildren(GNodeListNode *cln, GNode
* Stuff left over -- add it to the list too
*/
gn = Targ_GetNode(start);
- Lst_Append(members, gn);
+ Lst_Append(&members, gn);
}
/*
* Point cp back at the beginning again so the variable value
@@ -1347,8 +1347,8 @@ ExpandChildren(GNodeListNode *cln, GNode
/*
* Add all elements of the members list to the parent node.
*/
- while(!Lst_IsEmpty(members)) {
- gn = Lst_Dequeue(members);
+ while(!Lst_IsEmpty(&members)) {
+ gn = Lst_Dequeue(&members);
SUFF_DEBUG1("%s...", gn->name);
/* Add gn to the parents child list before the original child */
@@ -1358,7 +1358,7 @@ ExpandChildren(GNodeListNode *cln, GNode
/* Expand wildcards on new node */
ExpandWildcards(cln->prev, pgn);
}
- Lst_Free(members);
+ Lst_Done(&members);
/*
* Free the result