xref: /csrg-svn/local/local.cmd/difftc.sh (revision 25371)
112032Slayer#! /bin/csh -f
212032Slayer#
3*25371Sserge# SCCS id: @(#)difftc.sh	1.4	(Berkeley) 11/01/85
412032Slayer#
512032Slayer# diff termcap files
6*25371Ssergeset path=(/usr/ucb /bin /usr/bin /usr/new /usr/local . $path)
7*25371Ssergeset n=1 files=() flags=() term=()
812032Slayer
9*25371Ssergeif (! $?cwd) then
10*25371Sserge	set cwd=.
11*25371Ssergeendif
12*25371Ssergeif ("$cwd" !~ /*) then
13*25371Sserge	set cwd=`pwd`
14*25371Ssergeendif
15*25371Sserge
1612032Slayerwhile ($n <= $#argv)
1712044Slayer	if ("$argv[$n]" == "-f") then
1812032Slayer		@ n++
1912032Slayer		if ($argv[$n] !~ /*) then
2012032Slayer			set files=($files $cwd/$argv[$n])
2112032Slayer		else
2212032Slayer			set files=($files $argv[$n])
2312032Slayer		endif
24*25371Sserge	else if ("$argv[$n]" =~ -*) then
25*25371Sserge		set flags=($flags $argv[$n])
2612044Slayer	else
2712044Slayer		set term=($term $argv[$n])
2812032Slayer	endif
2912032Slayer	@ n++
3012032Slayerend
3112044Slayer
3212032Slayerswitch ($#files)
3312044Slayercase 0:
3412049Slayer	set files=(/etc/termcap)
3512049Slayercase 1:
3612044Slayer	if ($#term != 2) then
37*25371Sserge		echo difftc: need two entries to diff
3812032Slayer		exit 1
3912044Slayer	endif
4012044Slayer	breaksw
4112044Slayercase 2:
4212044Slayer	breaksw
4312044Slayerdefault:
44*25371Sserge	echo difftc: too many termcap files
4512044Slayer	exit 1
4612032Slayerendsw
4712032Slayer
4812032Slayeronintr cleanup
4912032Slayer
5012049Slayerif ($#files == 1) then
51*25371Sserge	showtc -s $flags -f $files $term[1] > /tmp/tcd$$.old
52*25371Sserge	showtc -s $flags -f $files $term[2] | diff /tmp/tcd$$.old -
5312044Slayerelse
54*25371Sserge	showtc $flags -f $files[1] $term > /tmp/tcd$$.old
55*25371Sserge	showtc $flags -f $files[2] $term | diff /tmp/tcd$$.old -
5612044Slayerendif
5712044Slayer
5812032Slayercleanup:
5912032Slayerrm -f /tmp/tcd$$.old
60