Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/make make(1): reduce memory allocation in Arch_Parse...
details: https://anonhg.NetBSD.org/src/rev/8ed664271601
branches: trunk
changeset: 1016707:8ed664271601
user: rillig <rillig%NetBSD.org@localhost>
date: Sat Nov 28 23:13:28 2020 +0000
description:
make(1): reduce memory allocation in Arch_ParseArchive
diffstat:
usr.bin/make/arch.c | 14 +++++++-------
usr.bin/make/lst.h | 4 +++-
2 files changed, 10 insertions(+), 8 deletions(-)
diffs (61 lines):
diff -r 48f2ea041eb9 -r 8ed664271601 usr.bin/make/arch.c
--- a/usr.bin/make/arch.c Sat Nov 28 22:59:53 2020 +0000
+++ b/usr.bin/make/arch.c Sat Nov 28 23:13:28 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: arch.c,v 1.180 2020/11/28 19:26:10 rillig Exp $ */
+/* $NetBSD: arch.c,v 1.181 2020/11/28 23:13:28 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -125,7 +125,7 @@
#include "config.h"
/* "@(#)arch.c 8.2 (Berkeley) 1/2/94" */
-MAKE_RCSID("$NetBSD: arch.c,v 1.180 2020/11/28 19:26:10 rillig Exp $");
+MAKE_RCSID("$NetBSD: arch.c,v 1.181 2020/11/28 23:13:28 rillig Exp $");
typedef struct List ArchList;
typedef struct ListNode ArchListNode;
@@ -344,11 +344,11 @@
free(buf);
} else if (Dir_HasWildcards(memName)) {
- StringList *members = Lst_New();
- Dir_Expand(memName, dirSearchPath, members);
+ StringList members = LST_INIT;
+ Dir_Expand(memName, dirSearchPath, &members);
- while (!Lst_IsEmpty(members)) {
- char *member = Lst_Dequeue(members);
+ while (!Lst_IsEmpty(&members)) {
+ char *member = Lst_Dequeue(&members);
char *fullname = str_concat4(libName, "(",
member, ")");
free(member);
@@ -359,7 +359,7 @@
gn->type |= OP_ARCHV;
Lst_Append(nodeLst, gn);
}
- Lst_Free(members);
+ Lst_Done(&members);
} else {
char *fullname = str_concat4(libName, "(", memName,
diff -r 48f2ea041eb9 -r 8ed664271601 usr.bin/make/lst.h
--- a/usr.bin/make/lst.h Sat Nov 28 22:59:53 2020 +0000
+++ b/usr.bin/make/lst.h Sat Nov 28 23:13:28 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: lst.h,v 1.89 2020/11/28 19:26:10 rillig Exp $ */
+/* $NetBSD: lst.h,v 1.90 2020/11/28 23:13:28 rillig Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -118,6 +118,8 @@
/* Free the list, freeing the node data using the given function. */
void Lst_Destroy(List *, LstFreeProc);
+#define LST_INIT { NULL, NULL }
+
/* Initialize a list, without memory allocation. */
MAKE_INLINE void
Lst_Init(List *list)
Home |
Main Index |
Thread Index |
Old Index