Use mktemp(1) when creating temporary files.

This commit is contained in:
Jacques Vidrine 2002-01-25 15:02:01 +00:00
parent b2636d248d
commit 57813231df
2 changed files with 16 additions and 11 deletions

View file

@ -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="$?";;

View file

@ -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