#!/bin/sh
UCB=/usr/ucb
BIN=/usr/bin
TMP=/tmp
CAPSAR=/usr/bin/capsar
XVDOC=$BIN/vdoc
XDOC=$BIN/vdoc
DTOC=$BIN/dtoc
CDA=

case $# in
	0)	FILE=-;;
	1)	NEWFILE=$1;;
	2)	FILE="-"
		CDA=$2
		;;
	3)	NEWFILE=$3
		CDA=$2
		;;
	*)	echo 'Usage : showddif [-D outfile] file' 1>&2;exit 1
esac
case $FILE in
	-)	cnt=0
		echo $TMP/showddif.$cnt
		while test -f "$TMP/showddif.$cnt"
		do
			cnt=`expr $cnt + 1`
		done
		NEWFILE=$TMP/showddif.$cnt
		cat   > $NEWFILE 
		;;
	*)	;;
esac

MTYPE="`$CAPSAR tf "$NEWFILE" `"
echo $MTYPE
case $MTYPE in 
	text)		$UCB/more $NEWFILE;;
	*DOTS|*DDIF)	$CAPSAR xhf $NEWFILE
			case $# in
				2|3)	case $MTYPE in
						*DOTS)	$CAPSAR xDf $NEWFILE > $CDA;;
						*DDIF)	$CAPSAR xdf $NEWFILE > $CDA;;
					esac
					;;
				0|1)	case $TERM in
						xterm)	VIEWER="$XVDOC -f DDIF";;
						*)	VIEWER"=$VDOC -f DDIF -D t";;
					esac
					case $MTYPE in
						*DDIF)	$CAPSAR xdf $NEWFILE | $VIEWER;;
						*DOTS)	cnt=0
							while test -d "$TMP/dtoc.$cnt"
							do
								cnt=`expr $cnt + 1`
							done
							echo $TMP/dtoc.$cnt
							mkdir $TMP/dtoc.$cnt
							$CAPSAR xDf $NEWFILE | $DTOC - $TMP/dtoc.$cnt 
							for i in $TMP/dtoc.$cnt/*
							do
								$VIEWER $i	
								echo
								rm $i
							done	
							rmdir $TMP/dtoc.$cnt	
							;;
					esac
					;;	
			esac	
			;;
	*)		$UCB/more $NEWFILE;;
esac

case $FILE in
	-)	rm $NEWFILE
		;;
	*)	;;
esac



