summaryrefslogtreecommitdiffstats
path: root/zdiff.in
diff options
context:
space:
mode:
Diffstat (limited to 'zdiff.in')
-rw-r--r--zdiff.in46
1 files changed, 20 insertions, 26 deletions
diff --git a/zdiff.in b/zdiff.in
index 9ac0a58..0ece51f 100644
--- a/zdiff.in
+++ b/zdiff.in
@@ -23,7 +23,7 @@ while [ x"$1" != x ] ; do
echo "Zdiff is a wrapper script around the diff and cmp commands that allows"
echo "transparent comparison of any combination of compressed and"
echo "non-compressed files. If any given file is compressed, its uncompressed"
- echo "content is used. The supported compressors are gzip, bzip2, lzip and xz."
+ echo "content is used. The supported compressors are bzip2, gzip, lzip and xz."
echo
echo "Zcmp is a shortcut for \"zdiff --cmp\""
echo
@@ -33,7 +33,7 @@ while [ x"$1" != x ] ; do
echo "compares FILE1 to the file with the corresponding decompressed file"
echo "name (removes the extension from FILE1). If FILE2 is omitted and FILE1"
echo "is not compressed, compares FILE1 to the uncompressed contents of"
- echo "FILE1.[gz|bz2|lz|xz] (the first one that is found)."
+ echo "FILE1.[bz2|gz|lz|xz] (the first one that is found)."
echo "DIFF_OPTIONS are passed directly to diff or cmp."
echo "The exit status from diff or cmp is preserved."
echo
@@ -73,10 +73,10 @@ done
for i in "$@" ; do
if [ "$i" = "--" ] && [ ${two_hyphens} = 0 ] ; then two_hyphens=1
else
- if [ -f "$i" ]; then
- if [ -z "${file1}" ]; then file1="$i"
+ if [ -f "$i" ] ; then
+ if [ -z "${file1}" ] ; then file1="$i"
else
- if [ -z "${file2}" ]; then file2="$i"
+ if [ -z "${file2}" ] ; then file2="$i"
else
echo "$0: Too many files; use --help for usage." 1>&2
fi
@@ -88,27 +88,27 @@ for i in "$@" ; do
fi
done
-if [ -z "${file1}" ]; then
+if [ -z "${file1}" ] ; then
echo "$0: No files given; use --help for usage." 1>&2
exit 1
fi
-if [ -z "${file2}" ]; then
+if [ -z "${file2}" ] ; then
case "${file1}" in
- *.gz) file2=`printf "%s" "${file1}" | sed -e 's,.gz$,,'` ;;
- *.tgz) file2=`printf "%s" "${file1}" | sed -e 's,tgz$,tar,'` ;;
*.bz2) file2=`printf "%s" "${file1}" | sed -e 's,.bz2$,,'` ;;
*.tbz) file2=`printf "%s" "${file1}" | sed -e 's,tbz$,tar,'` ;;
*.tbz2) file2=`printf "%s" "${file1}" | sed -e 's,tbz2$,tar,'` ;;
+ *.gz) file2=`printf "%s" "${file1}" | sed -e 's,.gz$,,'` ;;
+ *.tgz) file2=`printf "%s" "${file1}" | sed -e 's,tgz$,tar,'` ;;
*.lz) file2=`printf "%s" "${file1}" | sed -e 's,.lz$,,'` ;;
*.tlz) file2=`printf "%s" "${file1}" | sed -e 's,tlz$,tar,'` ;;
*.xz) file2=`printf "%s" "${file1}" | sed -e 's,.xz$,,'` ;;
*.txz) file2=`printf "%s" "${file1}" | sed -e 's,txz$,tar,'` ;;
*)
- if [ -f "${file1}.gz" ]; then file2="${file1}.gz"
- elif [ -f "${file1}.bz2" ]; then file2="${file1}.bz2"
- elif [ -f "${file1}.lz" ]; then file2="${file1}.lz"
- elif [ -f "${file1}.xz" ]; then file2="${file1}.xz"
+ if [ -f "${file1}.bz2" ] ; then file2="${file1}.bz2"
+ elif [ -f "${file1}.gz" ] ; then file2="${file1}.gz"
+ elif [ -f "${file1}.lz" ] ; then file2="${file1}.lz"
+ elif [ -f "${file1}.xz" ] ; then file2="${file1}.xz"
else
echo "$0: Compressed version of ${file1} not found; use --help for usage." 1>&2
exit 1
@@ -119,28 +119,22 @@ fi
prog1=
prog2=
bindir=`echo "$0" | sed -e 's,[^/]*$,,'`
-if [ -f "${file1}" ]; then
+if [ -f "${file1}" ] ; then
prog_name=`"${bindir}"zutils -t -- "${file1}"`
case "${prog_name}" in
- gzip) prog1=gzip ;;
- bzip2) prog1=bzip2 ;;
- lzip) prog1=lzip ;;
- xz) prog1=xz ;;
+ bzip2 | gzip | lzip | xz) prog1=${prog_name} ;;
esac
fi
-if [ -f "${file2}" ]; then
+if [ -f "${file2}" ] ; then
prog_name=`"${bindir}"zutils -t -- "${file2}"`
case "${prog_name}" in
- gzip) prog2=gzip ;;
- bzip2) prog2=bzip2 ;;
- lzip) prog2=lzip ;;
- xz) prog2=xz ;;
+ bzip2 | gzip | lzip | xz) prog2=${prog_name} ;;
esac
fi
retval=0
-if [ -n "${prog1}" ]; then
- if [ -n "${prog2}" ]; then
+if [ -n "${prog1}" ] ; then
+ if [ -n "${prog2}" ] ; then
tmp_file=`mktemp "${TMPDIR:-/tmp}"/zdiff.XXXXXXXXXX` || {
echo 'cannot create a temporary file' 1>&2
exit 1
@@ -154,7 +148,7 @@ if [ -n "${prog1}" ]; then
retval=$?
fi
else
- if [ -n "${prog2}" ]; then
+ if [ -n "${prog2}" ] ; then
${prog2} -cdfq -- "${file2}" | ${diff_prog} ${args} -- "${file1}" -
retval=$?
else