11.1SmrgMANDIR=/usr/man
21.1SmrgTMPDIR=/usr/man/tmp
31.1SmrgTOOLS=$MANDIR/tools
41.1Smrg
51.1Smrgtrap "rm $TMPDIR/tmp.$$ ; exit" 2 3 15
61.1Smrg
71.1SmrgP=108
81.1Smrgp=""
91.1Smrgif test "$1" = "-p"
101.1Smrgthen
111.1Smrg	P=65
121.1Smrg	p=-p
131.1Smrg	shift
141.1Smrgfi
151.1Smrg
161.1Smrgif test $# -eq 0
171.1Smrgthen
181.1Smrg	echo "tocrc: no argument"
191.1Smrg	exit
201.1Smrgfi
211.1Smrg
221.1Smrgif test $# -eq 2
231.1Smrgthen
241.1Smrg	: create toc input file for one section only
251.1Smrg
261.1Smrg	> $TMPDIR/tocx$1
271.1Smrg	for file in $MANDIR/man$1/*.$1*
281.1Smrg	do
291.1Smrg		if test ! -s $file
301.1Smrg		then
311.1Smrg			continue
321.1Smrg		fi
331.1Smrg		so=`line < $file | sed "s/ .*//"`
341.1Smrg		if test "$so" = ".so"
351.1Smrg		then
361.1Smrg			continue
371.1Smrg		fi
381.1Smrg		ed - $file > $TMPDIR/tmp.$$ <<!
391.1Smrg			H
401.1Smrg			/^\.TH/p
411.1Smrg			q
421.1Smrg!
431.1Smrg		loc=`cat $TMPDIR/tmp.$$ | sed "s/.*local.*/local/"`
441.1Smrg		if test "$loc" = "local"
451.1Smrg		then
461.1Smrg			continue
471.1Smrg		fi
481.1Smrg		name=`basename $file`
491.1Smrg		name=`echo $name | sed "s/\.\(.\{1,2\}\)\$/(\1)/"`
501.1Smrg		ed - $file > $TMPDIR/tmp.$$ <<!
511.1Smrg			/^.SH NAME/+p
521.1Smrg			q
531.1Smrg!
541.1Smrg		desc=`line < $TMPDIR/tmp.$$`
551.1Smrg		desc=`echo $desc | sed -e "s/.s-1//g" -e "s/.s0//g"  -e "s/.s+1//g"   -e "s/ .- /: /"  -e "s/^/$name /"  -e "s/$/./"`
561.1Smrg		if test -n "$desc"
571.1Smrg		then
581.1Smrg			echo $desc >> $TMPDIR/tocx$1
591.1Smrg		fi
601.1Smrg		rm -f $TMPDIR/tmp.$$
611.1Smrg	done
621.1Smrgelse case $1 in
631.1Smrg	all )
641.1Smrg		:   tocx files for all sections and everything else
651.1Smrg
661.1Smrg		for x in 1 2 3 4 5 6 7 8
671.1Smrg		do
681.1Smrg			$0 $p $x $x
691.1Smrg		done
701.1Smrg		$0 $p t
711.1Smrg		;;
721.1Smrg	t )
731.1Smrg		:   permuted index and toc files
741.1Smrg
751.1Smrg		if test ! -f $TMPDIR/tocx1
761.1Smrg		then
771.1Smrg			echo "tocrc: some tocx? files missing"
781.1Smrg			exit
791.1Smrg		fi
801.1Smrg		cat $TMPDIR/tocx? > $TMPDIR/cattoc
811.1Smrg		ed - $TMPDIR/cattoc <<!
821.1Smrg			H
831.1Smrg			g/(1c)/s//(1C)/
841.1Smrg			g/(1m)/s//(1M)/
851.1Smrg			g/(1g)/s//(1G)/
861.1Smrg			g/(3c)/s//(3C)/
871.1Smrg			g/(3m)/s//(3M)/
881.1Smrg			g/(3s)/s//(3S)/
891.1Smrg			g/(3x)/s//(3X)/
901.1Smrg			g/"\."/d
911.1Smrg			w
921.1Smrg			q
931.1Smrg!
941.1Smrg		ptx -r -t -b $TOOLS/break -f -w $P -i $TOOLS/ignore $TMPDIR/cattoc $MANDIR/man0/ptxx
951.1Smrg		for x in 1 2 3 4 5 6 7 8
961.1Smrg		do
971.1Smrg			ed - $TMPDIR/tocx$x << !
981.1Smrg			H
991.1Smrg				/^intro/m0
1001.1Smrg				1,\$s/ .*://
1011.1Smrg				1,\$s/.$//
1021.1Smrg				1,\$s/([1-8][a-z]\{0,1\}) /" "/
1031.1Smrg				1,\$s/.*/.xx "&"/
1041.1Smrg				g/""/d
1051.1Smrg				w $MANDIR/man0/toc$x
1061.1Smrg				q
1071.1Smrg!
1081.1Smrg		done
1091.1Smrg		;;
1101.1Smrg	* )
1111.1Smrg		$0 $p $1 $1
1121.1Smrg		;;
1131.1Smrg	esac
1141.1Smrgfi
115