Module Name: src Committed By: rillig Date: Sat Aug 1 06:35:00 UTC 2020
Modified Files: src/usr.bin/make: var.c Log Message: make(1): remove unnecessary snprintf from Var_ExportVars String literals can be concatenated at compile time. Furthermore, MAKE_EXPORTED can now contain percent characters without invoking undefined behavior. Not that anyone would ever want to do this. To generate a diff of this commit: cvs rdiff -u -r1.368 -r1.369 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.368 src/usr.bin/make/var.c:1.369 --- src/usr.bin/make/var.c:1.368 Fri Jul 31 14:59:53 2020 +++ src/usr.bin/make/var.c Sat Aug 1 06:35:00 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: var.c,v 1.368 2020/07/31 14:59:53 rillig Exp $ */ +/* $NetBSD: var.c,v 1.369 2020/08/01 06:35:00 rillig Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: var.c,v 1.368 2020/07/31 14:59:53 rillig Exp $"; +static char rcsid[] = "$NetBSD: var.c,v 1.369 2020/08/01 06:35:00 rillig Exp $"; #else #include <sys/cdefs.h> #ifndef lint #if 0 static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: var.c,v 1.368 2020/07/31 14:59:53 rillig Exp $"); +__RCSID("$NetBSD: var.c,v 1.369 2020/08/01 06:35:00 rillig Exp $"); #endif #endif /* not lint */ #endif @@ -582,7 +582,6 @@ Var_ExportVars(void) { char tmp[BUFSIZ]; char *val; - int n; /* * Several make's support this sort of mechanism for tracking @@ -601,26 +600,21 @@ Var_ExportVars(void) Hash_ForEach(&VAR_GLOBAL->context, Var_ExportVars_callback, NULL); return; } - /* - * We have a number of exported vars, - */ - n = snprintf(tmp, sizeof(tmp), "${" MAKE_EXPORTED ":O:u}"); - if (n < (int)sizeof(tmp)) { + + val = Var_Subst("${" MAKE_EXPORTED ":O:u}", VAR_GLOBAL, VARE_WANTRES); + if (*val) { char **av; char *as; int ac; int i; - val = Var_Subst(tmp, VAR_GLOBAL, VARE_WANTRES); - if (*val) { - av = brk_string(val, &ac, FALSE, &as); - for (i = 0; i < ac; i++) - Var_Export1(av[i], 0); - free(as); - free(av); - } - free(val); + av = brk_string(val, &ac, FALSE, &as); + for (i = 0; i < ac; i++) + Var_Export1(av[i], 0); + free(as); + free(av); } + free(val); } /*