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