view src/bzip2-1.0.6/bzdiff @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents e13257ea84a4
children
line wrap: on
line source
#!/bin/sh
# sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh

# Bzcmp/diff wrapped for bzip2, 
# adapted from zdiff by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.

# Bzcmp and bzdiff 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="/usr/bin:/bin:$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
tmp=`mktemp ${TMPDIR:-/tmp}/bzdiff.XXXXXXXXXX` || {
      echo 'cannot create a temporary file' >&2
      exit 1
}
set $FILES
if test $# -eq 1; then
	FILE=`echo "$1" | sed 's/.bz2$//'`
	bzip2 -cd "$FILE.bz2" | $comp $OPTIONS - "$FILE"
	STAT="$?"

elif test $# -eq 2; then
	case "$1" in
        *.bz2)
                case "$2" in
	        *.bz2)
			F=`echo "$2" | sed 's|.*/||;s|.bz2$||'`
                        bzip2 -cdfq "$2" > $tmp
                        bzip2 -cdfq "$1" | $comp $OPTIONS - $tmp
                        STAT="$?"
			/bin/rm -f $tmp;;

                *)      bzip2 -cdfq "$1" | $comp $OPTIONS - "$2"
                        STAT="$?";;
                esac;;
        *)      case "$2" in
	        *.bz2)
                        bzip2 -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