1a50e92eeSmrg#! /bin/sh 2*3fe138c1Sperry# 3*3fe138c1Sperry# $NetBSD: cknames,v 1.2 1998/01/09 08:04:57 perry Exp $ 4*3fe138c1Sperry# 5a50e92eeSmrgset x $* 6a50e92eeSmrg. ./.param 7a50e92eeSmrg 8a50e92eeSmrgtrap "rm -f $TMPDIR/*$$; exit;" 2 9a50e92eeSmrg 10a50e92eeSmrgfor sec in $DIRLST 11a50e92eeSmrgdo 12a50e92eeSmrg /bin/ls $MANDIR/man$sec > $TMPDIR/man${sec}$$ 13a50e92eeSmrgdone 14a50e92eeSmrg 15a50e92eeSmrgfor sec in $DIRLST 16a50e92eeSmrgdo 17a50e92eeSmrg cd $MANDIR/man$sec 18a50e92eeSmrg dt=`date` 19a50e92eeSmrg echo "$dt\n" > $TMPDIR/not.one.line$sec 20a50e92eeSmrg echo "$dt\n" > $TMPDIR/name.order$sec 21a50e92eeSmrg echo "$dt\n" > $TMPDIR/file.match$sec 22a50e92eeSmrg echo "$dt\n" > $TMPDIR/no.TH$sec 23a50e92eeSmrg echo "$dt\n" > $TMPDIR/no.NAME$sec 24a50e92eeSmrg while read file 25a50e92eeSmrg do 26a50e92eeSmrg so=`line < $file | sed "s/ .*$//"` 27a50e92eeSmrg if test "$so" = ".so" 28a50e92eeSmrg then 29a50e92eeSmrg continue 30a50e92eeSmrg fi 31a50e92eeSmrg grep "^.SH NAME" $file > /dev/null 32a50e92eeSmrg if test $? -eq 1 33a50e92eeSmrg then 34a50e92eeSmrg echo $file >> $TMPDIR/no.NAME$sec 35a50e92eeSmrg continue 36a50e92eeSmrg fi 37a50e92eeSmrg grep "^.SH SYNOPSIS" $file > /dev/null 38a50e92eeSmrg if test $? -eq 0 39a50e92eeSmrg then 40a50e92eeSmrg lines=`cat $file | sed -n "/\.SH NAME/,/\.SH SYNOP/p" | wc -l | sed "s/ //g"` 41a50e92eeSmrg else 42a50e92eeSmrg lines=`cat $file | sed -n "/\.SH NAME/,/\.SH DESCR/p" | wc -l | sed "s/ //g"` 43a50e92eeSmrg fi 44a50e92eeSmrg if test $lines -gt 3 45a50e92eeSmrg then 46a50e92eeSmrg echo $file >> $TMPDIR/not.one.line$sec 47a50e92eeSmrg continue 48a50e92eeSmrg fi 49a50e92eeSmrg th=`grep "^.TH" $file | line` 50a50e92eeSmrg if test -z "$th" 51a50e92eeSmrg then 52a50e92eeSmrg echo $file >> $TMPDIR/no.TH$sec 53a50e92eeSmrg continue 54a50e92eeSmrg fi 55a50e92eeSmrg set $th 56a50e92eeSmrg name=`echo $2 | tr [A-Z] [a-z]` 57a50e92eeSmrg suf=`echo $3 | tr [A-Z] [a-z]` 58a50e92eeSmrg fname="${name}.$suf" 59a50e92eeSmrg if test $fname != $file 60a50e92eeSmrg then 61a50e92eeSmrg echo $file >> $TMPDIR/file.match$sec 62a50e92eeSmrg fi 63a50e92eeSmrg ed - $file > $TMPDIR/tmp.$$ <<! 64a50e92eeSmrg /^.SH NAME/+p 65a50e92eeSmrg q 66a50e92eeSmrg! 67a50e92eeSmrg nname=`cat $TMPDIR/tmp.$$ | sed -e "s/ .*//" -e "s/,.*//"` 68a50e92eeSmrg rm -f $TMPDIR/tmp.$$ 69a50e92eeSmrg if test $name != $nname 70a50e92eeSmrg then 71a50e92eeSmrg echo $file >> $TMPDIR/name.order$sec 72a50e92eeSmrg fi 73a50e92eeSmrg done < $TMPDIR/man${sec}$$ 74a50e92eeSmrgdone 75a50e92eeSmrg 76a50e92eeSmrgrm -f $TMPDIR/*$$ 77