#!/bin/sh
# sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh
-# Copyright (C) 1998, 2002, 2006, 2007 Free Software Foundation
+# Copyright (C) 1998, 2002, 2006, 2007, 2009 Free Software Foundation
# 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 2 of the License, or
+# 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,
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-PATH=BINDIR:$PATH
+bindir=@bindir@
+case $1 in
+--__bindir) bindir=${2?}; shift; shift;;
+esac
+PATH=$bindir:$PATH
case $1 in
--__cmp) shift
esac
version="z$prog (gzip) @VERSION@
-Copyright (C) 2007 Free Software Foundation, Inc.
+Copyright (C) 2007, 2009-2010 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.
exec 3>&1
if test $# -eq 1; then
- case $1 in
- *[-.]gz* | *[-.][zZ] | *.t[ga]z)
+ type_file=$(file -b --mime-type "$1")
+
+ case $type_file in
+ application/x-gzip | application/x-compress)
FILE=`expr "X$1" : 'X\(.*\)[-.][zZtga]*$'`
+ if test "$FILE" == ""; then
+ FILE="$1"
+ fi;
+
gzip_status=$(
exec 4>&1
(gzip -cd -- "$1" 4>&-; echo $? >&4) 3>&- | eval "$cmp" - '"$FILE"' >&3
exit 2;;
esac
elif test $# -eq 2; then
- case "$1" in
- *[-.]gz* | *[-.][zZ] | *.t[ga]z | -)
- case "$2" in
- *[-.]gz* | *[-.][zZ] | *.t[ga]z | -)
+ type_file1=$(file -b --mime-type "$1")
+ type_file2=$(file -b --mime-type "$2")
+
+ case "$type_file1" in
+ application/x-gzip | application/x-compress)
+ case "$type_file2" in
+ application/x-gzip | application/x-compress)
if test "$1$2" = --; then
gzip_status=$(
exec 4>&1
exec 4>&1
(gzip -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
( (gzip -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- 5<&- </dev/null |
- eval "$cmp" /dev/fd/5 -) 5<&0
+ eval "$cmp" /dev/fd/5 - >&3) 5<&0
)
+ cmp_status=$?
case $gzip_status in
*[1-9]*) gzip_status=1;;
*) gzip_status=0;;
esac
+ (exit $cmp_status)
else
F=`expr "/$2" : '.*/\(.*\)[-.][zZtga]*$'` || F=$prog
+ if test "$F" == ""; then
+ F="$2"
+ fi;
tmp=
trap '
test -n "$tmp" && rm -f "$tmp"
eval "$cmp" - '"$2"' >&3
);;
esac;;
- *) case "$2" in
- *[-.]gz* | *[-.][zZ] | *.t[ga]z | -)
+ *) case "$type_file2" in
+ application/x-gzip | application/x-compress)
gzip_status=$(
exec 4>&1
(gzip -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- |