xref: /original-bsd/local/local.cmd/difftc.sh (revision 3b6250d9)
1#! /bin/csh -f
2#
3# SCCS id: @(#)difftc.sh	1.4	(Berkeley) 11/01/85
4#
5# diff termcap files
6set path=(/usr/ucb /bin /usr/bin /usr/new /usr/local . $path)
7set n=1 files=() flags=() term=()
8
9if (! $?cwd) then
10	set cwd=.
11endif
12if ("$cwd" !~ /*) then
13	set cwd=`pwd`
14endif
15
16while ($n <= $#argv)
17	if ("$argv[$n]" == "-f") then
18		@ n++
19		if ($argv[$n] !~ /*) then
20			set files=($files $cwd/$argv[$n])
21		else
22			set files=($files $argv[$n])
23		endif
24	else if ("$argv[$n]" =~ -*) then
25		set flags=($flags $argv[$n])
26	else
27		set term=($term $argv[$n])
28	endif
29	@ n++
30end
31
32switch ($#files)
33case 0:
34	set files=(/etc/termcap)
35case 1:
36	if ($#term != 2) then
37		echo difftc: need two entries to diff
38		exit 1
39	endif
40	breaksw
41case 2:
42	breaksw
43default:
44	echo difftc: too many termcap files
45	exit 1
46endsw
47
48onintr cleanup
49
50if ($#files == 1) then
51	showtc -s $flags -f $files $term[1] > /tmp/tcd$$.old
52	showtc -s $flags -f $files $term[2] | diff /tmp/tcd$$.old -
53else
54	showtc $flags -f $files[1] $term > /tmp/tcd$$.old
55	showtc $flags -f $files[2] $term | diff /tmp/tcd$$.old -
56endif
57
58cleanup:
59rm -f /tmp/tcd$$.old
60