Module Name:    src
Committed By:   rillig
Date:           Wed Apr 14 17:24:48 UTC 2021

Modified Files:
        src/usr.bin/make: main.c

Log Message:
make: turn run-time string concatenation into compile-time

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.537 -r1.538 src/usr.bin/make/main.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/main.c
diff -u src/usr.bin/make/main.c:1.537 src/usr.bin/make/main.c:1.538
--- src/usr.bin/make/main.c:1.537	Wed Apr 14 17:20:48 2021
+++ src/usr.bin/make/main.c	Wed Apr 14 17:24:48 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: main.c,v 1.537 2021/04/14 17:20:48 rillig Exp $	*/
+/*	$NetBSD: main.c,v 1.538 2021/04/14 17:24:48 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -111,7 +111,7 @@
 #include "trace.h"
 
 /*	"@(#)main.c	8.3 (Berkeley) 3/19/94"	*/
-MAKE_RCSID("$NetBSD: main.c,v 1.537 2021/04/14 17:20:48 rillig Exp $");
+MAKE_RCSID("$NetBSD: main.c,v 1.538 2021/04/14 17:24:48 rillig Exp $");
 #if defined(MAKE_NATIVE) && !defined(lint)
 __COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993 "
 	    "The Regents of the University of California.  "
@@ -869,9 +869,8 @@ PrintVar(const char *varname, bool expan
  * is false, otherwise true.
  */
 static bool
-GetBooleanVar(const char *varname, bool fallback)
+GetBooleanExpr(const char *expr, bool fallback)
 {
-	char *expr = str_concat3("${", varname, "}");
 	char *value;
 	bool res;
 
@@ -879,7 +878,6 @@ GetBooleanVar(const char *varname, bool 
 	/* TODO: handle errors */
 	res = ParseBoolean(value, fallback);
 	free(value);
-	free(expr);
 	return res;
 }
 
@@ -894,7 +892,8 @@ doPrintVars(void)
 	else if (opts.debugVflag)
 		expandVars = false;
 	else
-		expandVars = GetBooleanVar(".MAKE.EXPAND_VARIABLES", false);
+		expandVars = GetBooleanExpr("${.MAKE.EXPAND_VARIABLES}",
+		    false);
 
 	for (ln = opts.variables.first; ln != NULL; ln = ln->next) {
 		const char *varname = ln->datum;
@@ -1086,7 +1085,7 @@ InitObjdir(const char *machine, const ch
 	bool writable;
 
 	Dir_InitCur(curdir);
-	writable = GetBooleanVar("MAKE_OBJDIR_CHECK_WRITABLE", true);
+	writable = GetBooleanExpr("${MAKE_OBJDIR_CHECK_WRITABLE}", true);
 	(void)Main_SetObjdir(false, "%s", curdir);
 
 	if (!SetVarObjdir(writable, "MAKEOBJDIRPREFIX", curdir) &&
@@ -2086,7 +2085,8 @@ shouldDieQuietly(GNode *gn, int bf)
 	static int quietly = -1;
 
 	if (quietly < 0) {
-		if (DEBUG(JOB) || !GetBooleanVar(".MAKE.DIE_QUIETLY", true))
+		if (DEBUG(JOB) ||
+		    !GetBooleanExpr("${.MAKE.DIE_QUIETLY}", true))
 			quietly = 0;
 		else if (bf >= 0)
 			quietly = bf;

Reply via email to