diff options
author | Jean-loup Gailly <jloup@chorus.fr> | 1993-08-16 22:32:16 +0000 |
---|---|---|
committer | Jean-loup Gailly <jloup@chorus.fr> | 1993-08-16 22:32:16 +0000 |
commit | 093f2760eca9b534cb54e0dead61dd5505ad4579 (patch) | |
tree | 34c07c61160ac2a79be24dbf2c143dbd8d4f5691 /zdiff.in | |
parent | 19c488bc68ce9bbe727a44e88c6333a3029d7217 (diff) | |
download | gzip-093f2760eca9b534cb54e0dead61dd5505ad4579.tar.gz |
gzip 1.2.4
Diffstat (limited to 'zdiff.in')
-rw-r--r-- | zdiff.in | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/zdiff.in b/zdiff.in new file mode 100644 index 0000000..110454c --- /dev/null +++ b/zdiff.in @@ -0,0 +1,70 @@ +: +#!/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 +prog=`echo $0 | sed 's|.*/||'` +case "$prog" in + *cmp) comp=${CMP-cmp} ;; + *) comp=${DIFF-diff} ;; +esac + +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 1 + fi ;; + esac +done +if test -z "$FILES"; then + echo "Usage: $prog [${comp}_options] file [file]" + exit 1 +fi +set $FILES +if test $# -eq 1; then + FILE=`echo "$1" | sed 's/[-.][zZtga]*$//'` + gzip -cd "$1" | $comp $OPTIONS - "$FILE" + STAT="$?" + +elif test $# -eq 2; then + case "$1" in + *[-.]gz* | *[-.][zZ] | *.t[ga]z) + case "$2" in + *[-.]gz* | *[-.][zZ] | *.t[ga]z) + F=`echo "$2" | sed 's|.*/||;s|[-.][zZtga]*||'` + gzip -cdfq "$2" > /tmp/"$F".$$ + gzip -cdfq "$1" | $comp $OPTIONS - /tmp/"$F".$$ + STAT="$?" + /bin/rm -f /tmp/"$F".$$;; + + *) gzip -cdfq "$1" | $comp $OPTIONS - "$2" + STAT="$?";; + esac;; + *) case "$2" in + *[-.]gz* | *[-.][zZ] | *.t[ga]z) + gzip -cdfq "$2" | $comp $OPTIONS "$1" - + STAT="$?";; + *) $comp $OPTIONS "$1" "$2" + STAT="$?";; + esac;; + esac + exit "$STAT" +else + echo "Usage: $prog [${comp}_options] file [file]" + exit 1 +fi |