aboutsummaryrefslogtreecommitdiff
path: root/toc/toc
blob: 2b21790ba1042f0e164c19d8489e4d2f441ff239 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/sh

# toc -- run troff in three passes

: ${TROFF:=troff}

if [ ! -t 0 ]; then
	f=`mktemp`
	cat > $f
	set -- "$@" $f
fi

if [ -z "$PIPE" ]; then
	g=`mktemp`
	h=`mktemp`

	2>$g >/dev/null		$TROFF -rte=1 -rto=0 -E "$@"
	<$g 2>$h >/dev/null	$TROFF -rte=1 -rto=1 -E "$@"
	<$h			$TROFF -rte=0 -rto=1 "$@"
	s=$?

	rm $h $g
else
	$TROFF -rte=1 -rto=0 -zE "$@" 2>&1 |
	$TROFF -rte=1 -rto=1 -zE "$@" 2>&1 |
	$TROFF -rte=0 -rto=1 "$@"
	s=$?
fi

[ ! -t 0 ] && rm $f
exit $s