Imported from ../bash-2.05a.tar.gz.
[platform/upstream/bash.git] / builtins / psize.sh
old mode 100755 (executable)
new mode 100644 (file)
index 2c874f5..c4d73e1
@@ -4,10 +4,18 @@
 #             pipesize.h so ulimit.c can use it.
 
 : ${TMPDIR:=/tmp}
-TMPNAME=pipsize.$$
-TMPFILE=$TMPDIR/$TMPNAME
+# try to use mktemp(1) if the system supports it
+{ TMPFILE="`mktemp $TMPDIR/pipsize.XXXXXX 2>/dev/null`"; } 2>/dev/null
+used_mktemp=true
 
-trap 'rm -f $TMPFILE' 0 1 2 3 6 15
+if [ -z "$TMPFILE" ]; then
+       TMPNAME=pipsize.$$
+       TMPFILE=$TMPDIR/$TMPNAME
+       used_mktemp=false
+fi
+
+trap 'rm -f "$TMPFILE" ; exit 1' 1 2 3 6 15
+trap 'rm -f "$TMPFILE"' 0
 
 echo "/*"
 echo " * pipesize.h"
@@ -21,14 +29,15 @@ echo ""
 # Try to avoid tempfile races.  We can't really check for the file's
 # existance before we run psize.aux, because `test -e' is not portable,
 # `test -h' (test for symlinks) is not portable, and `test -f' only
-# checks for regular files
+# checks for regular files.  If we used mktemp(1), we're ahead of the
+# game.
 #
-rm -f $TMPFILE
+$used_mktemp || rm -f "$TMPFILE"
 
-./psize.aux 2>$TMPFILE | sleep 3
+./psize.aux 2>"$TMPFILE" | sleep 3
 
-if [ -s $TMPFILE ]; then
-       echo "#define PIPESIZE `cat $TMPFILE`"
+if [ -s "$TMPFILE" ]; then
+       echo "#define PIPESIZE `cat "$TMPFILE"`"
 else
        echo "#define PIPESIZE 512"
 fi