From 50633f8f4e8d629e65d96f83abd9f99ca2cad463 Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Tue, 26 Apr 2016 20:55:49 +0000 Subject: gzip-1.8 --- zdiff.in | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 zdiff.in (limited to 'zdiff.in') diff --git a/zdiff.in b/zdiff.in new file mode 100644 index 0000000..12de3a1 --- /dev/null +++ b/zdiff.in @@ -0,0 +1,161 @@ +#!/bin/sh +# sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh + +# Copyright (C) 1998, 2002, 2006-2007, 2009-2016 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 +# 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, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +case $1 in + --__cmp) shift + prog=cmp; cmp='${CMP-cmp}' ;; + *) prog=diff; cmp='${DIFF-diff}';; +esac + +version="z$prog (gzip) @VERSION@ +Copyright (C) 2009, 2011-2016 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: $0 [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 ." + +# sed script to escape all ' for the shell, and then (to handle trailing +# newlines correctly) turn trailing X on last line into '. +escape=' + s/'\''/'\''\\'\'''\''/g + $s/X$/'\''/ +' + +while :; do + case $1 in + --h*) printf '%s\n' "$usage" || exit 2; exit;; + --v*) echo "$version" || exit 2; exit;; + --) shift; break;; + -*\'*) cmp="$cmp '"`printf '%sX\n' "$1" | sed "$escape"`;; + -?*) cmp="$cmp '$1'";; + *) break;; + esac + shift +done +cmp="$cmp --" + +for file +do + test "X$file" = X- || <"$file" || exit 2 +done + +gzip_status=0 +exec 3>&1 + +if test $# -eq 1; then + case $1 in + *[-.]gz* | *[-.][zZ] | *.t[ga]z) + FILE=`expr "X$1" : 'X\(.*\)[-.][zZtga]*$'` + gzip_status=$( + exec 4>&1 + (gzip -cd -- "$1" 4>&-; echo $? >&4) 3>&- | eval "$cmp" - '"$FILE"' >&3 + );; + *) + echo >&2 "$0: $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_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<&- &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 + if type mktemp >/dev/null 2>&1; then + tmp=`mktemp` || exit 2 + else + F=`expr "/$2" : '.*/\(.*\)[-.][zZtga]*$'` || F=$prog + 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 + ) + 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 + );; + 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"';; + esac;; + esac +else + echo >&2 "$0: invalid number of operands; try \`$0 --help' for help" + exit 2 +fi + +cmp_status=$? +test "$gzip_status" -eq 0 || exit 2 +exit $cmp_status -- cgit v1.2.1