From d021da72fe1f0e17a65b88e33f0789d27c77b31f Mon Sep 17 00:00:00 2001 From: nectar Date: Fri, 25 Jan 2002 15:02:01 +0000 Subject: Use mktemp(1) when creating temporary files. --- gnu/usr.bin/gzip/zdiff | 7 ++++--- gnu/usr.bin/gzip/znew | 20 ++++++++++++-------- 2 files changed, 16 insertions(+), 11 deletions(-) (limited to 'gnu') diff --git a/gnu/usr.bin/gzip/zdiff b/gnu/usr.bin/gzip/zdiff index ebc9eca..310a201 100644 --- a/gnu/usr.bin/gzip/zdiff +++ b/gnu/usr.bin/gzip/zdiff @@ -47,10 +47,11 @@ elif test $# -eq 2; then case "$2" in *[-.]gz* | *[-.][zZ] | *.t[ga]z) F=`echo "$2" | sed 's|.*/||;s|[-.][zZtga]*||'` - gzip -cdfq "$2" > /tmp/"$F".$$ - gzip -cdfq "$1" | $comp $OPTIONS - /tmp/"$F".$$ + tmp=`mktemp -t "$F"` + gzip -cdfq "$2" > "$tmp" + gzip -cdfq "$1" | $comp $OPTIONS - "$tmp" STAT="$?" - /bin/rm -f /tmp/"$F".$$;; + /bin/rm -f "$tmp";; *) gzip -cdfq "$1" | $comp $OPTIONS - "$2" STAT="$?";; diff --git a/gnu/usr.bin/gzip/znew b/gnu/usr.bin/gzip/znew index 8e0e26b..52b0ae9 100644 --- a/gnu/usr.bin/gzip/znew +++ b/gnu/usr.bin/gzip/znew @@ -14,24 +14,28 @@ block=1024 # block is the disk block size (best guess, need not be exact) warn="(does not preserve modes and timestamp)" -tmp=/tmp/zfoo.$$ -echo hi > $tmp.1 -echo hi > $tmp.2 -if test -z "`(${CPMOD-cpmod} $tmp.1 $tmp.2) 2>&1`"; then +tmp=`mktemp -d -t znew` +if test -z "$tmp"; then + echo znew: could not create temporary directory + exit 1 +fi +echo hi > $tmp/1 +echo hi > $tmp/2 +if test -z "`(${CPMOD-cpmod} $tmp/1 $tmp/2) 2>&1`"; then cpmod=${CPMOD-cpmod} warn="" fi -if test -z "$cpmod" && ${TOUCH-touch} -r $tmp.1 $tmp.2 2>/dev/null; then +if test -z "$cpmod" && ${TOUCH-touch} -r $tmp/1 $tmp/2 2>/dev/null; then cpmod="${TOUCH-touch}" cpmodarg="-r" warn="(does not preserve file modes)" fi # check if GZIP env. variable uses -S or --suffix -gzip -q $tmp.1 -ext=`echo $tmp.1* | sed "s|$tmp.1||"` -rm -f $tmp.[12]* +gzip -q $tmp/1 +ext=`echo $tmp/1* | sed "s|$tmp/1||"` +rm -rf $tmp if test -z "$ext"; then echo znew: error determining gzip extension exit 1 -- cgit v1.1