Module Name:    src
Committed By:   rillig
Date:           Sat Dec 12 20:00:52 UTC 2020

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

Log Message:
make(1): extract ExportVarsExpand from Var_Export


To generate a diff of this commit:
cvs rdiff -u -r1.727 -r1.728 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/var.c
diff -u src/usr.bin/make/var.c:1.727 src/usr.bin/make/var.c:1.728
--- src/usr.bin/make/var.c:1.727	Sat Dec 12 19:39:34 2020
+++ src/usr.bin/make/var.c	Sat Dec 12 20:00:51 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: var.c,v 1.727 2020/12/12 19:39:34 rillig Exp $	*/
+/*	$NetBSD: var.c,v 1.728 2020/12/12 20:00:51 rillig Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -131,7 +131,7 @@
 #include "metachar.h"
 
 /*	"@(#)var.c	8.3 (Berkeley) 3/19/94" */
-MAKE_RCSID("$NetBSD: var.c,v 1.727 2020/12/12 19:39:34 rillig Exp $");
+MAKE_RCSID("$NetBSD: var.c,v 1.728 2020/12/12 20:00:51 rillig Exp $");
 
 /* A string that may need to be freed after use. */
 typedef struct FStr {
@@ -694,6 +694,17 @@ ExportVars(const char *varnames, Boolean
 	Words_Free(words);
 }
 
+static void
+ExportVarsExpand(const char *uvarnames, Boolean isExport, VarExportFlags flags)
+{
+	char *xvarnames;
+
+	(void)Var_Subst(uvarnames, VAR_GLOBAL, VARE_WANTRES, &xvarnames);
+	/* TODO: handle errors */
+	ExportVars(xvarnames, isExport, flags);
+	free(xvarnames);
+}
+
 /*
  * This is called when .export is seen or .MAKE.EXPORTED is modified.
  *
@@ -706,7 +717,6 @@ void
 Var_Export(const char *str, Boolean isExport)
 {
 	VarExportFlags flags;
-	char *varnames;
 
 	if (isExport && str[0] == '\0') {
 		var_exportedVars = VAR_EXPORTED_ALL; /* use with caution! */
@@ -723,10 +733,7 @@ Var_Export(const char *str, Boolean isEx
 		flags = VAR_EXPORT_PARENT;
 	}
 
-	(void)Var_Subst(str, VAR_GLOBAL, VARE_WANTRES, &varnames);
-	/* TODO: handle errors */
-	ExportVars(varnames, isExport, flags);
-	free(varnames);
+	ExportVarsExpand(str, isExport, flags);
 }
 
 

Reply via email to