]> git.cworth.org Git - gzip/blobdiff - zdiff.in
Imported Debian patch 1.3.9-1
[gzip] / zdiff.in
old mode 100755 (executable)
new mode 100644 (file)
index 8190192..6194cf9
--- a/zdiff.in
+++ b/zdiff.in
@@ -1,4 +1,3 @@
-:
 #!/bin/sh
 # sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh
 
 # or diff is preserved.
 
 PATH="BINDIR:$PATH"; export PATH
-prog=`echo $0 | sed 's|.*/||'`
-case "$prog" in
-  *cmp) comp=${CMP-cmp}   ;;
-  *)    comp=${DIFF-diff} ;;
+case "$0" in
+  *cmp) prog=cmp ; comp=${CMP-cmp}   ;;
+  *)    prog=diff; comp=${DIFF-diff} ;;
 esac
 
+version="z$prog (gzip) @VERSION@
+Copyright (C) 2006 Free Software Foundation, Inc.
+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>.
+There is NO WARRANTY, to the extent permitted by law.
+
+Written by Jean-loup Gailly."
+
+usage="Usage: z$prog [OPTION]... FILE1 [FILE2]
+Compare FILE1 to FILE2, using their uncompressed contents if they are
+compressed.  If FILE2 is omitted, compare FILE1 to the uncompressed
+contents of FILE1.gz.  Do comparisons like '$prog' does.
+
+OPTIONs are the same as for '$prog'.
+
+Report bugs to <bug-gzip@gnu.org>."
+
 OPTIONS=
 FILES=
-for ARG
-do
-    case "$ARG" in
-    -*)        OPTIONS="$OPTIONS $ARG";;
-     *)        if test -f "$ARG"; then
-            FILES="$FILES $ARG"
-        else
-            echo "${prog}: $ARG not found or not a regular file"
-           exit 2
-        fi ;;
-    esac
+while :; do
+  case $1 in
+  --h*) echo "$usage" || exit 2; exit;;
+  --v*) echo "$version" || exit 2; exit;;
+  --) shift; break;;
+  -*) OPTIONS="$OPTIONS $ARG"; shift;;
+  esac
+done
+for file; do
+  test -f "$file" || {
+    echo "$prog: $file not found or not a regular file"
+    exit 2
+  }
 done
-if test -z "$FILES"; then
-       echo "Usage: $prog [${comp}_options] file [file]"
-       exit 2
-fi
-set $FILES
 if test $# -eq 1; then
        FILE=`echo "$1" | sed 's/[-.][zZtga]*$//'`
-       gzip -cd "$1" | $comp $OPTIONS - "$FILE"
+       gzip -cd -- "$1" | $comp $OPTIONS - "$FILE"
 
 elif test $# -eq 2; then
        case "$1" in
@@ -48,22 +60,22 @@ elif test $# -eq 2; then
                        F=`echo "$2" | sed 's|.*/||;s|[-.][zZtga]*||'`
                        set -C
                        trap 'rm -f /tmp/"$F".$$; exit 2' HUP INT PIPE TERM 0
-                       gzip -cdfq "$2" > /tmp/"$F".$$ || exit
-                        gzip -cdfq "$1" | $comp $OPTIONS - /tmp/"$F".$$
+                       gzip -cdfq -- "$2" > /tmp/"$F".$$ || exit
+                       gzip -cdfq -- "$1" | $comp $OPTIONS - /tmp/"$F".$$
                         STAT="$?"
                        /bin/rm -f /tmp/"$F".$$ || STAT=2
                        trap - HUP INT PIPE TERM 0
                        exit $STAT;;
 
-                *)      gzip -cdfq "$1" | $comp $OPTIONS - "$2";;
+               *)      gzip -cdfq -- "$1" | $comp $OPTIONS - "$2";;
                 esac;;
         *)      case "$2" in
                *[-.]gz* | *[-.][zZ] | *.t[ga]z)
-                        gzip -cdfq "$2" | $comp $OPTIONS "$1" -;;
+                       gzip -cdfq -- "$2" | $comp $OPTIONS "$1" -;;
                 *)      $comp $OPTIONS "$1" "$2";;
                 esac;;
        esac
 else
-       echo "Usage: $prog [${comp}_options] file [file]"
+       echo "$usage"
        exit 2
 fi