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