Module Name:    src
Committed By:   rillig
Date:           Thu Feb  4 19:15:13 UTC 2021

Modified Files:
        src/usr.bin/make: nonints.h var.c

Log Message:
make: rename Var_SetWithFlags to Var_SetExpandWithFlags

Add back Var_SetWithFlags for the one call that doesn't need to expand
the name.

Now one of the flags is encoded in the function name while the others
are encoded in VarSetFlags.  This is inconsistent.  Maybe there is a
better way to model the different variants of setting a variable.


To generate a diff of this commit:
cvs rdiff -u -r1.197 -r1.198 src/usr.bin/make/nonints.h
cvs rdiff -u -r1.798 -r1.799 src/usr.bin/make/var.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/nonints.h
diff -u src/usr.bin/make/nonints.h:1.197 src/usr.bin/make/nonints.h:1.198
--- src/usr.bin/make/nonints.h:1.197	Thu Feb  4 19:00:45 2021
+++ src/usr.bin/make/nonints.h	Thu Feb  4 19:15:13 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: nonints.h,v 1.197 2021/02/04 19:00:45 rillig Exp $	*/
+/*	$NetBSD: nonints.h,v 1.198 2021/02/04 19:15:13 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -376,6 +376,7 @@ void Global_SetExpand(const char *, cons
 void Var_Set(const char *, const char *, GNode *);
 void Var_SetExpand(const char *, const char *, GNode *);
 void Var_SetWithFlags(const char *, const char *, GNode *, VarSetFlags);
+void Var_SetExpandWithFlags(const char *, const char *, GNode *, VarSetFlags);
 void Var_Append(const char *, const char *, GNode *);
 void Var_AppendExpand(const char *, const char *, GNode *);
 void Global_Append(const char *, const char *);

Index: src/usr.bin/make/var.c
diff -u src/usr.bin/make/var.c:1.798 src/usr.bin/make/var.c:1.799
--- src/usr.bin/make/var.c:1.798	Thu Feb  4 19:00:45 2021
+++ src/usr.bin/make/var.c	Thu Feb  4 19:15:13 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: var.c,v 1.798 2021/02/04 19:00:45 rillig Exp $	*/
+/*	$NetBSD: var.c,v 1.799 2021/02/04 19:15:13 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -139,7 +139,7 @@
 #include "metachar.h"
 
 /*	"@(#)var.c	8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: var.c,v 1.798 2021/02/04 19:00:45 rillig Exp $");
+MAKE_RCSID("$NetBSD: var.c,v 1.799 2021/02/04 19:15:13 rillig Exp $");
 
 typedef enum VarFlags {
 	VAR_NONE	= 0,
@@ -1001,11 +1001,18 @@ SetVar(const char *name, const char *val
 		VarFreeEnv(v, TRUE);
 }
 
-/* See Var_Set for documentation. */
 void
 Var_SetWithFlags(const char *name, const char *val, GNode *ctxt,
 		 VarSetFlags flags)
 {
+	SetVar(name, val, ctxt, flags);
+}
+
+/* See Var_Set for documentation. */
+void
+Var_SetExpandWithFlags(const char *name, const char *val, GNode *ctxt,
+		 VarSetFlags flags)
+{
 	const char *unexpanded_name = name;
 	FStr varname = FStr_InitRefer(name);
 
@@ -1048,7 +1055,7 @@ Var_Set(const char *name, const char *va
 void
 Var_SetExpand(const char *name, const char *val, GNode *ctxt)
 {
-	Var_SetWithFlags(name, val, ctxt, VAR_SET_NONE);
+	Var_SetExpandWithFlags(name, val, ctxt, VAR_SET_NONE);
 }
 
 void
@@ -1675,7 +1682,8 @@ ModifyWord_Loop(const char *word, SepBuf
 		return;
 
 	args = data;
-	Var_SetWithFlags(args->tvar, word, args->ctx, VAR_SET_NO_EXPORT);
+	/* XXX: The variable name should not be expanded here. */
+	Var_SetExpandWithFlags(args->tvar, word, args->ctx, VAR_SET_NO_EXPORT);
 	(void)Var_Subst(args->str, args->ctx, args->eflags, &s);
 	/* TODO: handle errors */
 

Reply via email to