New upstream version 1.9
[debian/gzip] / zdiff.in
index 12de3a1e9a9f86cd4c83f15e09e04eeef23dcede..960bf86131dc6ed6d28dfc16e38dfab8ba680b76 100644 (file)
--- a/zdiff.in
+++ b/zdiff.in
@@ -1,7 +1,7 @@
 #!/bin/sh
 # sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh
 
 #!/bin/sh
 # sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh
 
-# Copyright (C) 1998, 2002, 2006-2007, 2009-2016 Free Software Foundation, Inc.
+# Copyright (C) 1998, 2002, 2006-2007, 2009-2018 Free Software Foundation, Inc.
 # Copyright (C) 1993 Jean-loup Gailly
 
 # This program is free software; you can redistribute it and/or modify
 # Copyright (C) 1993 Jean-loup Gailly
 
 # This program is free software; you can redistribute it and/or modify
@@ -25,9 +25,9 @@ case $1 in
 esac
 
 version="z$prog (gzip) @VERSION@
 esac
 
 version="z$prog (gzip) @VERSION@
-Copyright (C) 2009, 2011-2016 Free Software Foundation, Inc.
+Copyright (C) 2009, 2011-2017 Free Software Foundation, Inc.
 This is free software.  You may redistribute copies of it under the terms of
 This is free software.  You may redistribute copies of it under the terms of
-the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
+the GNU General Public License <https://www.gnu.org/licenses/gpl.html>.
 There is NO WARRANTY, to the extent permitted by law.
 
 Written by Jean-loup Gailly."
 There is NO WARRANTY, to the extent permitted by law.
 
 Written by Jean-loup Gailly."
@@ -50,8 +50,8 @@ escape='
 
 while :; do
   case $1 in
 
 while :; do
   case $1 in
-  --h*) printf '%s\n' "$usage" || exit 2; exit;;
-  --v*) echo "$version" || exit 2; exit;;
+  --h*) printf '%s\n' "$usage"   || exit 2; exit;;
+  --v*) printf '%s\n' "$version" || exit 2; exit;;
   --) shift; break;;
   -*\'*) cmp="$cmp '"`printf '%sX\n' "$1" | sed "$escape"`;;
   -?*) cmp="$cmp '$1'";;
   --) shift; break;;
   -*\'*) cmp="$cmp '"`printf '%sX\n' "$1" | sed "$escape"`;;
   -?*) cmp="$cmp '$1'";;
@@ -78,7 +78,7 @@ if test $# -eq 1; then
       (gzip -cd -- "$1" 4>&-; echo $? >&4) 3>&- | eval "$cmp" - '"$FILE"' >&3
     );;
   *)
       (gzip -cd -- "$1" 4>&-; echo $? >&4) 3>&- | eval "$cmp" - '"$FILE"' >&3
     );;
   *)
-    echo >&2 "$0: $1: unknown compressed file extension"
+    printf >&2 '%s\n' "$0: $1: unknown compressed file extension"
     exit 2;;
   esac
 elif test $# -eq 2; then
     exit 2;;
   esac
 elif test $# -eq 2; then
@@ -116,12 +116,17 @@ elif test $# -eq 2; then
                           test -n "$tmp" && rm -f "$tmp"
                           (exit 2); exit 2
                         ' HUP INT PIPE TERM 0
                           test -n "$tmp" && rm -f "$tmp"
                           (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
                         if type mktemp >/dev/null 2>&1; then
-                          tmp=`mktemp` || exit 2
+                          tmp=`mktemp "${TMPDIR}zdiffXXXXXXXXX"` ||
+                            exit 2
                         else
                         else
-                          F=`expr "/$2" : '.*/\(.*\)[-.][zZtga]*$'` || F=$prog
                           set -C
                           set -C
-                          tmp=${TMPDIR-/tmp}/$F.$$
+                          tmp=${TMPDIR}zdiff$$
                         fi
                         gzip -cdfq -- "$2" > "$tmp" || exit 2
                         gzip_status=$(
                         fi
                         gzip -cdfq -- "$2" > "$tmp" || exit 2
                         gzip_status=$(
@@ -152,7 +157,8 @@ elif test $# -eq 2; then
                 esac;;
         esac
 else
                 esac;;
         esac
 else
-        echo >&2 "$0: invalid number of operands; try \`$0 --help' for help"
+        printf >&2 '%s\n' \
+          "$0: invalid number of operands; try \`$0 --help' for help"
         exit 2
 fi
 
         exit 2
 fi