%V 0
%I bb Fri Jan  9 16:52:02 1981
a0
name=$0
v1=
v2=
if [ @$1 = @-b ]; then
	bflag=-b
	shift
else
	bflag=
fi
if [ @$1 = @-v ]; then
	shift
	v1=$1
	shift
	if [ @$1 = @-v ]; then
		shift
		v2=$1
		shift
	fi
fi
if [ $# != 1 ]; then
	echo 1>&2 usage: $name [-b] [-v v1] [-v v2] file
	exit 1
fi
if [ ! -r $1 -a -z "$v2" ]; then
	echo 1>&2 $name: cannot access $1
	exit 1
fi
if [ ! -r $1+ ]; then
	echo 1>&2 $name: cannot access $1+
	exit 1
fi
if [ -z "$v1" ]; then
	rest -f -o $1 | diff $bflag - $1
elif [ -z "$v2" ]; then
	rest -f -v $v1 -o $1 | diff $bflag - $1
else
	umask 077
	trap "rm -f /tmp/savediff.$$; exit 1" 1 2 3 15 27
	rest -f -v $v1 -o $1 > /tmp/savediff.$$
	rest -f -v $v2 -o $1 | diff $bflag /tmp/savediff.$$ -
	rm -f /tmp/savediff.$$
fi
.
%E
%I bb Fri Jan  9 16:52:21 1981
%C added -s silent option, return 0 or 1 for equal or not equal
c4 5
bflag=
sflag=
while [ @$1 = @-b -o @$1 = @-s ]; do
	if [ @$1 = @-b ]; then
		bflag=-b
	else
		sflag=-s
	fi
.
c7 9
done
.
c21 22
	echo 1>&2 usage: $name [-s] [-b] [-v v1] [-v v2] file
	exit 2
.
c26
	exit 2
.
c30
	exit 2
.
c33
	rest -f -o $1 |
		if [ -n "$sflag" ]; then
			cmp  $sflag - $1
		else
			diff $bflag - $1
		fi
	status=$?
.
c35
	rest -f -v $v1 -o $1 |
		if [ -n "$sflag" ]; then
			cmp  $sflag - $1
		else
			diff $bflag - $1
		fi
	status=$?
.
c38
	trap "rm -f /tmp/savediff.$$; exit 2" 1 2 3 15 27
.
c40
	rest -f -v $v2 -o $1 |
		if [ -n "$sflag" ]; then
			cmp  $sflag - /tmp/savediff.$$
		else
			diff $bflag /tmp/savediff.$$ -
		fi
	status=$?
.
a42
exit $status
.
%E
