source: trunk/third/bzip2/bzdiff @ 17062

Revision 17062, 2.1 KB checked in by ghudson, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r17061, which included commits to RCS files with non-trunk default branches.
Line 
1#!/bin/sh
2# sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh
3
4# Bzcmp/diff wrapped for bzip2,
5# adapted from zdiff by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
6
7# Bzcmp and bzdiff are used to invoke the cmp or the  diff  pro-
8# gram  on compressed files.  All options specified are passed
9# directly to cmp or diff.  If only 1 file is specified,  then
10# the  files  compared  are file1 and an uncompressed file1.gz.
11# If two files are specified, then they are  uncompressed  (if
12# necessary) and fed to cmp or diff.  The exit status from cmp
13# or diff is preserved.
14
15PATH="/usr/bin:$PATH"; export PATH
16prog=`echo $0 | sed 's|.*/||'`
17case "$prog" in
18  *cmp) comp=${CMP-cmp}   ;;
19  *)    comp=${DIFF-diff} ;;
20esac
21
22OPTIONS=
23FILES=
24for ARG
25do
26    case "$ARG" in
27    -*) OPTIONS="$OPTIONS $ARG";;
28     *) if test -f "$ARG"; then
29            FILES="$FILES $ARG"
30        else
31            echo "${prog}: $ARG not found or not a regular file"
32            exit 1
33        fi ;;
34    esac
35done
36if test -z "$FILES"; then
37        echo "Usage: $prog [${comp}_options] file [file]"
38        exit 1
39fi
40tmp=`tempfile -d /tmp -p bz` || {
41      echo 'cannot create a temporary file' >&2
42      exit 1
43}
44set $FILES
45if test $# -eq 1; then
46        FILE=`echo "$1" | sed 's/.bz2$//'`
47        bzip2 -cd "$FILE.bz2" | $comp $OPTIONS - "$FILE"
48        STAT="$?"
49
50elif test $# -eq 2; then
51        case "$1" in
52        *.bz2)
53                case "$2" in
54                *.bz2)
55                        F=`echo "$2" | sed 's|.*/||;s|.bz2$||'`
56                        bzip2 -cdfq "$2" > $tmp
57                        bzip2 -cdfq "$1" | $comp $OPTIONS - $tmp
58                        STAT="$?"
59                        /bin/rm -f $tmp;;
60
61                *)      bzip2 -cdfq "$1" | $comp $OPTIONS - "$2"
62                        STAT="$?";;
63                esac;;
64        *)      case "$2" in
65                *.bz2)
66                        bzip2 -cdfq "$2" | $comp $OPTIONS "$1" -
67                        STAT="$?";;
68                *)      $comp $OPTIONS "$1" "$2"
69                        STAT="$?";;
70                esac;;
71        esac
72        exit "$STAT"
73else
74        echo "Usage: $prog [${comp}_options] file [file]"
75        exit 1
76fi
Note: See TracBrowser for help on using the repository browser.