summaryrefslogtreecommitdiff
path: root/zdiff.in
diff options
context:
space:
mode:
Diffstat (limited to 'zdiff.in')
-rw-r--r--zdiff.in65
1 files changed, 39 insertions, 26 deletions
diff --git a/zdiff.in b/zdiff.in
index 8190192..9300a44 100644
--- a/zdiff.in
+++ b/zdiff.in
@@ -11,34 +11,47 @@
# 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 +61,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