Wabi patch already merged in new upstream version
[debian/gzip] / zdiff.in
index 1b911aa6a800e5fb2e97acb707fa461afdaed303..4cf73951f48a001c6aa7b5098a8da0dde4b68f25 100644 (file)
--- a/zdiff.in
+++ b/zdiff.in
@@ -1,12 +1,12 @@
 #!/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 Free Software Foundation
+# 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
 # it under the terms of the GNU General Public License as published by
 # Copyright (C) 1993 Jean-loup Gailly
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 
 # This program is distributed in the hope that it will be useful,
 # (at your option) any later version.
 
 # This program is distributed in the hope that it will be useful,
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-PATH=BINDIR:$PATH
-
 case $1 in
   --__cmp) shift
 case $1 in
   --__cmp) shift
-       prog=cmp;  cmp='${CMP-cmp}'  ;;
+        prog=cmp;  cmp='${CMP-cmp}'  ;;
   *)    prog=diff; cmp='${DIFF-diff}';;
 esac
 
 version="z$prog (gzip) @VERSION@
   *)    prog=diff; cmp='${DIFF-diff}';;
 esac
 
 version="z$prog (gzip) @VERSION@
-Copyright (C) 2007 Free Software Foundation, Inc.
+Copyright (C) 2009, 2011-2018 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."
@@ -52,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'";;
@@ -80,80 +78,88 @@ 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
-       case "$1" in
-       *[-.]gz* | *[-.][zZ] | *.t[ga]z | -)
+        case "$1" in
+        *[-.]gz* | *[-.][zZ] | *.t[ga]z | -)
                 case "$2" in
                 case "$2" in
-               *[-.]gz* | *[-.][zZ] | *.t[ga]z | -)
-                   if test "$1$2" = --; then
-                       gzip_status=$(
-                         exec 4>&1
-                         (gzip -cdfq - 4>&-; echo $? >&4) 3>&- |
-                           eval "$cmp" - - >&3
-                       )
-                   elif
-                       # Reject Solaris 8's buggy /bin/bash 2.03.
-                       echo X |
-                        (echo X | eval "$cmp" /dev/fd/5 - >/dev/null 2>&1) \
-                               5<&0
-                   then
-                       gzip_status=$(
-                         exec 4>&1
-                         (gzip -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-                           ( (gzip -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- 5<&- </dev/null |
-                              eval "$cmp" /dev/fd/5 - >&3) 5<&0
-                       )
-                       case $gzip_status in
-                         *[1-9]*) gzip_status=1;;
-                         *) gzip_status=0;;
-                       esac
-                   else
-                       F=`expr "/$2" : '.*/\(.*\)[-.][zZtga]*$'` || F=$prog
-                       tmp=
-                       trap '
-                         test -n "$tmp" && rm -f "$tmp"
-                         (exit 2); exit 2
-                       ' HUP INT PIPE TERM 0
-                       if type mktemp >/dev/null 2>&1; then
-                         tmp=`mktemp -t -- "$F.XXXXXX"` || exit 2
-                       else
-                         set -C
-                         tmp=${TMPDIR-/tmp}/$F.$$
-                       fi
-                       gzip -cdfq -- "$2" > "$tmp" || exit 2
-                       gzip_status=$(
-                         exec 4>&1
-                         (gzip -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-                           eval "$cmp" - '"$tmp"' >&3
-                       )
+                *[-.]gz* | *[-.][zZ] | *.t[ga]z | -)
+                    if test "$1$2" = --; then
+                        gzip_status=$(
+                          exec 4>&1
+                          (gzip -cdfq - 4>&-; echo $? >&4) 3>&- |
+                            eval "$cmp" - - >&3
+                        )
+                    elif
+                        # Reject Solaris 8's buggy /bin/bash 2.03.
+                        echo X |
+                         (echo X | eval "$cmp" /dev/fd/5 - >/dev/null 2>&1) \
+                                5<&0
+                    then
+                        gzip_status=$(
+                          exec 4>&1
+                          (gzip -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
+                            ( (gzip -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- 5<&- </dev/null |
+                               eval "$cmp" /dev/fd/5 - >&3) 5<&0
+                        )
+                        cmp_status=$?
+                        case $gzip_status in
+                          *[1-9]*) gzip_status=1;;
+                          *) gzip_status=0;;
+                        esac
+                        (exit $cmp_status)
+                    else
+                        tmp=
+                        trap '
+                          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
+                          tmp=`mktemp "${TMPDIR}zdiffXXXXXXXXX"` ||
+                            exit 2
+                        else
+                          set -C
+                          tmp=${TMPDIR}zdiff$$
+                        fi
+                        gzip -cdfq -- "$2" > "$tmp" || exit 2
+                        gzip_status=$(
+                          exec 4>&1
+                          (gzip -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
+                            eval "$cmp" - '"$tmp"' >&3
+                        )
                         cmp_status=$?
                         cmp_status=$?
-                       rm -f "$tmp" || gzip_status=$?
-                       trap - HUP INT PIPE TERM 0
-                       (exit $cmp_status)
-                   fi;;
-               *)
-                   gzip_status=$(
-                     exec 4>&1
-                     (gzip -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
-                       eval "$cmp" - '"$2"' >&3
-                   );;
+                        rm -f "$tmp" || gzip_status=$?
+                        trap - HUP INT PIPE TERM 0
+                        (exit $cmp_status)
+                    fi;;
+                *)
+                    gzip_status=$(
+                      exec 4>&1
+                      (gzip -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
+                        eval "$cmp" - '"$2"' >&3
+                    );;
                 esac;;
         *)      case "$2" in
                 esac;;
         *)      case "$2" in
-               *[-.]gz* | *[-.][zZ] | *.t[ga]z | -)
-                       gzip_status=$(
-                         exec 4>&1
-                         (gzip -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- |
-                           eval "$cmp" '"$1"' - >&3
-                       );;
-               *)      eval "$cmp" '"$1"' '"$2"';;
+                *[-.]gz* | *[-.][zZ] | *.t[ga]z | -)
+                        gzip_status=$(
+                          exec 4>&1
+                          (gzip -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- |
+                            eval "$cmp" '"$1"' - >&3
+                        );;
+                *)     eval "$cmp" '"$1"' '"$2"';;
                 esac;;
                 esac;;
-       esac
+        esac
 else
 else
-       echo >&2 "$0: invalid number of operands; try \`$0 --help' for help"
-       exit 2
+        printf >&2 '%s\n' \
+          "$0: invalid number of operands; try \`$0 --help' for help"
+        exit 2
 fi
 
 cmp_status=$?
 fi
 
 cmp_status=$?