gzexe: port to macOS mktemp
[debian/gzip] / zgrep.in
index 0660634dd4ad9c13c69de3bba8355321e4a1f505..7a4a2d485b47fa805f6aae818019ba5ff839d2c4 100644 (file)
--- a/zgrep.in
+++ b/zgrep.in
@@ -3,7 +3,7 @@
 # zgrep -- a wrapper around a grep program that decompresses files as needed
 # Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
 
-# Copyright (C) 1998, 2001-2002, 2006-2007, 2009-2017 Free Software Foundation,
+# Copyright (C) 1998, 2001-2002, 2006-2007, 2009-2018 Free Software Foundation,
 # Inc.
 
 # Copyright (C) 1993 Jean-loup Gailly
@@ -133,11 +133,16 @@ while test $# -ne 0; do
         test -n "$pattmp" && rm -f "$pattmp"
         (exit 2); exit 2
       ' HUP INT PIPE TERM 0
+      case $TMPDIR in
+        / | /*/) ;;
+        /*) TMPDIR=$TMPDIR/;;
+        *) TMPDIR=/tmp/;;
+      esac
       if type mktemp >/dev/null 2>&1; then
-        pattmp=$(mktemp) || exit 2
+        pattmp=$(mktemp "${TMPDIR}zgrepXXXXXXXXX") || exit 2
       else
         set -C
-        pattmp=${TMPDIR-/tmp}/zgrep.$$
+        pattmp=${TMPDIR}zgrep$$
       fi
       eval "cat --$optarg" >"$pattmp" || exit 2
       optarg=' "$pattmp"'