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