summaryrefslogtreecommitdiff
path: root/usr.bin/make/suff.c
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>2000-06-23 16:21:45 +0000
committerMarc Espie <espie@cvs.openbsd.org>2000-06-23 16:21:45 +0000
commit9fe43896ab7c1ae716cc383807b510e85517c2d8 (patch)
tree01d9a2d2799900d8eafdd68d6bc692552d2b2d99 /usr.bin/make/suff.c
parent9dec3f73c83665e70d33f9ae6b9638739eea07ce (diff)
In various places, VAR_CMD is used to actually mean `no real context',
since lookup will start with VAR_CMD in any case. This fixes VarFind and Var_Parse to handle ctxt == NULL correctly, and replace those confusing VAR_CMD with proper NULL pointers. This patch also handles three small details: - .CURDIR is necessarily set in VAR_GLOBAL, - suffix handling for archives copies two hard-coded variables, for which it can use a quick path, - typos in TargFreeGN. Reviewed millert@, miod@.
Diffstat (limited to 'usr.bin/make/suff.c')
-rw-r--r--usr.bin/make/suff.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/usr.bin/make/suff.c b/usr.bin/make/suff.c
index b642ac3c367..0050a68be41 100644
--- a/usr.bin/make/suff.c
+++ b/usr.bin/make/suff.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: suff.c,v 1.33 2000/06/23 16:20:01 espie Exp $ */
+/* $OpenBSD: suff.c,v 1.34 2000/06/23 16:21:43 espie Exp $ */
/* $NetBSD: suff.c,v 1.13 1996/11/06 17:59:25 christos Exp $ */
/*
@@ -43,7 +43,7 @@
#if 0
static char sccsid[] = "@(#)suff.c 8.4 (Berkeley) 3/21/94";
#else
-static char rcsid[] = "$OpenBSD: suff.c,v 1.33 2000/06/23 16:20:01 espie Exp $";
+static char rcsid[] = "$OpenBSD: suff.c,v 1.34 2000/06/23 16:21:43 espie Exp $";
#endif
#endif /* not lint */
@@ -1595,10 +1595,6 @@ SuffFindArchiveDeps(gn, slst)
char *eoarch; /* End of archive portion */
char *eoname; /* End of member portion */
GNode *mem; /* Node for member */
- static char *copy[] = { /* Variables to be copied from the member node */
- TARGET, /* Must be first */
- PREFIX, /* Must be second */
- };
int i; /* Index into copy and vals */
Suff *ms; /* Suffix descriptor for member */
char *name; /* Start of member's name */
@@ -1636,13 +1632,9 @@ SuffFindArchiveDeps(gn, slst)
gn->unmade += 1;
}
- /*
- * Copy in the variables from the member node to this one.
- */
- for (i = (sizeof(copy)/sizeof(copy[0]))-1; i >= 0; i--) {
- Var_Set(copy[i], Var_Value(copy[i], &mem->context), &gn->context);
-
- }
+ /* Copy variables from member node to this one. */
+ Varq_Set(TARGET_INDEX, Varq_Value(TARGET_INDEX, mem), gn);
+ Varq_Set(PREFIX_INDEX, Varq_Value(PREFIX_INDEX, mem), gn);
ms = mem->suffix;
if (ms == NULL) {