Module Name: src Committed By: rillig Date: Sun Dec 6 17:35:52 UTC 2020
Modified Files: src/usr.bin/make: var.c Log Message: make(1): extract UnexportVars from Var_UnExport To generate a diff of this commit: cvs rdiff -u -r1.715 -r1.716 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.715 src/usr.bin/make/var.c:1.716 --- src/usr.bin/make/var.c:1.715 Sun Dec 6 17:27:10 2020 +++ src/usr.bin/make/var.c Sun Dec 6 17:35:51 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.715 2020/12/06 17:27:10 rillig Exp $ */ +/* $NetBSD: var.c,v 1.716 2020/12/06 17:35:51 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -130,7 +130,7 @@ #include "metachar.h" /* "@(#)var.c 8.3 (Berkeley) 3/19/94" */ -MAKE_RCSID("$NetBSD: var.c,v 1.715 2020/12/06 17:27:10 rillig Exp $"); +MAKE_RCSID("$NetBSD: var.c,v 1.716 2020/12/06 17:35:51 rillig Exp $"); /* A string that may need to be freed after use. */ typedef struct FStr { @@ -810,6 +810,22 @@ UnexportVar(const char *varname, Unexpor } } +static void +UnexportVars(FStr *varnames, UnexportWhat what) +{ + size_t i; + + Words words = Str_Words(varnames->str, FALSE); + for (i = 0; i < words.len; i++) { + const char *varname = words.words[i]; + UnexportVar(varname, what); + } + Words_Free(words); + + if (what != UNEXPORT_NAMED) + Var_Delete(MAKE_EXPORTED, VAR_GLOBAL); +} + /* * This is called when .unexport[-env] is seen. * @@ -822,21 +838,7 @@ Var_UnExport(const char *str) FStr varnames; GetVarnamesToUnexport(str, &varnames, &what); - - { - size_t i; - - Words words = Str_Words(varnames.str, FALSE); - for (i = 0; i < words.len; i++) { - const char *varname = words.words[i]; - UnexportVar(varname, what); - } - Words_Free(words); - - if (what != UNEXPORT_NAMED) - Var_Delete(MAKE_EXPORTED, VAR_GLOBAL); - } - + UnexportVars(&varnames, what); FStr_Done(&varnames); }