#!/bin/sh # sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh # Zcmp and zdiff are used to invoke the cmp or the diff pro- # gram on compressed files. All options specified are passed # directly to cmp or diff. If only 1 file is specified, then # the files compared are file1 and an uncompressed file1.gz. # If two files are specified, then they are uncompressed (if # necessary) and fed to cmp or diff. The exit status from cmp # or diff is preserved. PATH="BINDIR:$PATH"; export PATH case "$0" in *cmp) prog=cmp ; cmp='${CMP-cmp}' ;; *) prog=diff; cmp='${DIFF-diff}';; esac cmp0=$cmp 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 . 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 ." FILES= while :; do case $1 in --h*) echo "$usage" || exit 2; exit;; --v*) echo "$version" || exit 2; exit;; --) shift; break;; -*\'*) echo >&2 "$prog: $1: option contains apostrophe"; exit 2;; -?*) cmp="$cmp '$1'"; shift;; *) break;; esac done cmp="$cmp --" for file do test "X$file" = X- || <"$file" || exit 2 done if test $# -eq 1; then case $1 in *[-.]gz* | *[-.][zZ] | *.t[ga]z) FILE=`expr "X$1" : 'X\(.*\)[-.][zZtga]*$'` gzip -cd -- "$1" | eval "$cmp" - '"$FILE"';; *) echo >&2 "$prog: $1: unknown compressed file extension" exit 2;; esac elif test $# -eq 2; then case "$1" in *[-.]gz* | *[-.][zZ] | *.t[ga]z | -) case "$2" in *[-.]gz* | *[-.][zZ] | *.t[ga]z | -) if test "$1$2" = --; then gzip -cdfq - | eval "$cmp" - - elif # Reject Solaris 8's buggy /bin/bash 2.03. echo X | (echo X | eval "$cmp0" /dev/fd/3 - >/dev/null 2>&1) \ 3<&0 then gzip -cdfq -- "$1" | (gzip -cdfq -- "$2" | eval "$cmp" /dev/fd/3 -) 3<&0 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 else set -C tmp=${TMPDIR-/tmp}/$F.$$ fi gzip -cdfq -- "$2" > "$tmp" || exit gzip -cdfq -- "$1" | eval "$cmp" - '"$tmp"' STAT="$?" rm -f "$tmp" || STAT=2 trap - HUP INT PIPE TERM 0 exit $STAT fi;; *) gzip -cdfq -- "$1" | eval "$cmp" - '"$2"';; esac;; *) case "$2" in *[-.]gz* | *[-.][zZ] | *.t[ga]z | -) gzip -cdfq -- "$2" | eval "$cmp" '"$1"' -;; *) eval "$cmp" '"$1"' '"$2"';; esac;; esac else echo >&2 "$usage" exit 2 fi