14f9a1459Swiz#!/bin/sh 24f9a1459Swiz# sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh 34f9a1459Swiz 44f9a1459Swiz# Bzcmp/diff wrapped for bzip2, 54f9a1459Swiz# adapted from zdiff by Philippe Troin <phil@fifi.org> for Debian GNU/Linux. 64f9a1459Swiz 74f9a1459Swiz# Bzcmp and bzdiff are used to invoke the cmp or the diff pro- 84f9a1459Swiz# gram on compressed files. All options specified are passed 94f9a1459Swiz# directly to cmp or diff. If only 1 file is specified, then 104f9a1459Swiz# the files compared are file1 and an uncompressed file1.gz. 114f9a1459Swiz# If two files are specified, then they are uncompressed (if 124f9a1459Swiz# necessary) and fed to cmp or diff. The exit status from cmp 134f9a1459Swiz# or diff is preserved. 144f9a1459Swiz 154f9a1459SwizPATH="/usr/bin:/bin:$PATH"; export PATH 164f9a1459Swizprog=`echo $0 | sed 's|.*/||'` 174f9a1459Swizcase "$prog" in 184f9a1459Swiz *cmp) comp=${CMP-cmp} ;; 194f9a1459Swiz *) comp=${DIFF-diff} ;; 204f9a1459Swizesac 214f9a1459Swiz 224f9a1459SwizOPTIONS= 234f9a1459SwizFILES= 244f9a1459Swizfor ARG 254f9a1459Swizdo 264f9a1459Swiz case "$ARG" in 274f9a1459Swiz -*) OPTIONS="$OPTIONS $ARG";; 284f9a1459Swiz *) if test -f "$ARG"; then 294f9a1459Swiz FILES="$FILES $ARG" 304f9a1459Swiz else 314f9a1459Swiz echo "${prog}: $ARG not found or not a regular file" 324f9a1459Swiz exit 1 334f9a1459Swiz fi ;; 344f9a1459Swiz esac 354f9a1459Swizdone 364f9a1459Swizif test -z "$FILES"; then 374f9a1459Swiz echo "Usage: $prog [${comp}_options] file [file]" 384f9a1459Swiz exit 1 394f9a1459Swizfi 404f9a1459Swizset $FILES 414f9a1459Swizif test $# -eq 1; then 424f9a1459Swiz FILE=`echo "$1" | sed 's/.bz2$//'` 434f9a1459Swiz bzip2 -cd "$FILE.bz2" | $comp $OPTIONS - "$FILE" 444f9a1459Swiz STAT="$?" 454f9a1459Swiz 464f9a1459Swizelif test $# -eq 2; then 474f9a1459Swiz case "$1" in 484f9a1459Swiz *.bz2) 494f9a1459Swiz case "$2" in 504f9a1459Swiz *.bz2) 514f9a1459Swiz F=`echo "$2" | sed 's|.*/||;s|.bz2$||'` 52*c12ab3f1Smaya tmp=`mktemp "${TMPDIR:-/tmp}"/bzdiff.XXXXXXXXXX` || { 53*c12ab3f1Smaya echo 'cannot create a temporary file' >&2 54*c12ab3f1Smaya exit 1 55*c12ab3f1Smaya } 56*c12ab3f1Smaya bzip2 -cdfq "$2" > "$tmp" 57*c12ab3f1Smaya bzip2 -cdfq "$1" | $comp $OPTIONS - "$tmp" 584f9a1459Swiz STAT="$?" 59*c12ab3f1Smaya /bin/rm -f "$tmp";; 604f9a1459Swiz 614f9a1459Swiz *) bzip2 -cdfq "$1" | $comp $OPTIONS - "$2" 624f9a1459Swiz STAT="$?";; 634f9a1459Swiz esac;; 644f9a1459Swiz *) case "$2" in 654f9a1459Swiz *.bz2) 664f9a1459Swiz bzip2 -cdfq "$2" | $comp $OPTIONS "$1" - 674f9a1459Swiz STAT="$?";; 684f9a1459Swiz *) $comp $OPTIONS "$1" "$2" 694f9a1459Swiz STAT="$?";; 704f9a1459Swiz esac;; 714f9a1459Swiz esac 724f9a1459Swizelse 734f9a1459Swiz echo "Usage: $prog [${comp}_options] file [file]" 744f9a1459Swiz exit 1 754f9a1459Swizfi 76*c12ab3f1Smayaexit "$STAT" 77