From: Richard Hartmann <richih@debian.org>
Date: Sat, 28 Dec 2013 14:17:36 +0000 (+0100)
Subject: vcsh: Fix mktemp bug
X-Git-Url: https://git.madduck.net/code/vcsh.git/commitdiff_plain/0398a0a77e16b2524797ede2b5bddf4421e3bc23?ds=sidebyside;hp=69528a5a00aa2b15bfd36dadd410d915fa14de57

vcsh: Fix mktemp bug

2650689d28f662e147d0be4c3ee248f873dbcc3c introduced a bug:
If we are using a template, GNU mktemp will use PWD instead of $TMPDIR
---

diff --git a/vcsh b/vcsh
index 58f5585..af41890 100755
--- a/vcsh
+++ b/vcsh
@@ -360,7 +360,9 @@ write_gitignore() {
 
 	# Contrary to GNU mktemp, mktemp on BSD/OSX requires a template for temp files
 	# Use the template GNU mktemo defaults to
-	tempfile=$(mktemp tmp.XXXXXXXXXX) || fatal "could not create tempfile" 51
+	# The downside to this is that we need to set TMPDIR explicitly; this may or may not be empty, so...
+	[ -z "$TMPDIR" ] && TMPDIR='/tmp'
+	tempfile=$(mktemp ${TMPDIR}/tmp.XXXXXXXXXX) || fatal "could not create tempfile" 51
 
 	echo '*' > "$tempfile" || fatal "could not write to '$tempfile'" 57
 	for gitignore in $gitignores; do