From 9c24f7ff271e0c5d867c78559a6b9f94514c4b8d Mon Sep 17 00:00:00 2001 From: rillig Date: Mon, 19 Apr 2021 16:35:11 +0000 Subject: [PATCH] make: avoid double slash in name of temporary directory If the environment variable TMPDIR is not set, make uses a default path that includes a trailing '/'. For extra correctness it always appended an extra '/', leading to paths of the form '/tmp//makeXXXXXX'. This looked suspicious, as if there had been a forgotten empty part between the two '/'. Avoid this ambiguity by replacing '//' with '/'. --- usr.bin/make/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.bin/make/main.c b/usr.bin/make/main.c index 0ebe65dfade7..567472627b0d 100644 --- a/usr.bin/make/main.c +++ b/usr.bin/make/main.c @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.538 2021/04/14 17:24:48 rillig Exp $ */ +/* $NetBSD: main.c,v 1.539 2021/04/19 16:35:11 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.538 2021/04/14 17:24:48 rillig Exp $"); +MAKE_RCSID("$NetBSD: main.c,v 1.539 2021/04/19 16:35:11 rillig Exp $"); #if defined(MAKE_NATIVE) && !defined(lint) __COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993 " "The Regents of the University of California. " @@ -2198,7 +2198,7 @@ getTmpdir(void) return tmpdir; /* Honor $TMPDIR but only if it is valid. Ensure it ends with '/'. */ - (void)Var_Subst("${TMPDIR:tA:U" _PATH_TMP "}/", + (void)Var_Subst("${TMPDIR:tA:U" _PATH_TMP ":S,/$,,W}/", SCOPE_GLOBAL, VARE_WANTRES, &tmpdir); /* TODO: handle errors */