# 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"
# 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