11.1Smrg#! /bin/sh
21.2Sperry#
31.2Sperry#	$NetBSD: cknames,v 1.2 1998/01/09 08:04:57 perry Exp $
41.2Sperry#
51.1Smrgset x $*
61.1Smrg. ./.param
71.1Smrg
81.1Smrgtrap "rm -f $TMPDIR/*$$; exit;" 2
91.1Smrg
101.1Smrgfor sec in $DIRLST
111.1Smrgdo
121.1Smrg	/bin/ls $MANDIR/man$sec > $TMPDIR/man${sec}$$
131.1Smrgdone
141.1Smrg
151.1Smrgfor sec in $DIRLST
161.1Smrgdo
171.1Smrg	cd $MANDIR/man$sec
181.1Smrg	dt=`date`
191.1Smrg	echo "$dt\n" > $TMPDIR/not.one.line$sec
201.1Smrg	echo "$dt\n" > $TMPDIR/name.order$sec
211.1Smrg	echo "$dt\n" > $TMPDIR/file.match$sec
221.1Smrg	echo "$dt\n" > $TMPDIR/no.TH$sec
231.1Smrg	echo "$dt\n" > $TMPDIR/no.NAME$sec
241.1Smrg	while read file
251.1Smrg	do
261.1Smrg		so=`line < $file | sed "s/ .*$//"`
271.1Smrg		if test "$so" = ".so"
281.1Smrg		then
291.1Smrg			continue
301.1Smrg		fi
311.1Smrg		grep "^.SH NAME" $file > /dev/null
321.1Smrg		if test $? -eq 1
331.1Smrg		then
341.1Smrg			echo $file >> $TMPDIR/no.NAME$sec
351.1Smrg			continue
361.1Smrg		fi
371.1Smrg		grep "^.SH SYNOPSIS" $file > /dev/null
381.1Smrg		if test $? -eq 0
391.1Smrg		then
401.1Smrg			lines=`cat $file | sed -n "/\.SH NAME/,/\.SH SYNOP/p" | wc -l | sed "s/ //g"`
411.1Smrg		else
421.1Smrg			lines=`cat $file | sed -n "/\.SH NAME/,/\.SH DESCR/p" | wc -l | sed "s/ //g"`
431.1Smrg		fi
441.1Smrg		if test $lines -gt 3
451.1Smrg		then
461.1Smrg			echo $file >> $TMPDIR/not.one.line$sec
471.1Smrg			continue
481.1Smrg		fi
491.1Smrg		th=`grep "^.TH" $file | line`
501.1Smrg		if test -z "$th"
511.1Smrg		then
521.1Smrg			echo $file >> $TMPDIR/no.TH$sec
531.1Smrg			continue
541.1Smrg		fi
551.1Smrg		set $th
561.1Smrg		name=`echo $2 | tr [A-Z] [a-z]`
571.1Smrg		suf=`echo $3 | tr [A-Z] [a-z]`
581.1Smrg		fname="${name}.$suf"
591.1Smrg		if test $fname != $file
601.1Smrg		then
611.1Smrg			echo $file >> $TMPDIR/file.match$sec
621.1Smrg		fi
631.1Smrg		ed - $file > $TMPDIR/tmp.$$ <<!
641.1Smrg			/^.SH NAME/+p
651.1Smrg			q
661.1Smrg!
671.1Smrg		nname=`cat $TMPDIR/tmp.$$ | sed -e "s/ .*//" -e "s/,.*//"`
681.1Smrg		rm -f $TMPDIR/tmp.$$
691.1Smrg		if test $name != $nname
701.1Smrg		then
711.1Smrg			echo $file >> $TMPDIR/name.order$sec
721.1Smrg		fi
731.1Smrg	done < $TMPDIR/man${sec}$$
741.1Smrgdone
751.1Smrg
761.1Smrgrm -f $TMPDIR/*$$
77