|
|
1.1 root 1: #!/bin/sh
2: set -p
3: PATH=/bin:/usr/bin
4: SOURCE=/usr/man
5: CACHE=/usr/spool/man
6: cmd=-q sec='?*' secn= c=x s=x
7: opt= slow= quick= T=
8:
9: (cd $CACHE 2>/dev/null) && c=c
10: (cd $SOURCE 2>/dev/null) && s=s
11:
12: while case $1 in
13: [1-9]|10) sec=$1 secn=$1 ;;
14: -f) c=f s=f ;;
15: -[qw]) cmd=$1 ;;
16: -[nt]) cmd=$1 ;;
17: -T*) T=$1 ;;
18: -*) opt="$opt $1" ;;
19: *) break
20: esac
21: do shift
22: done
23:
24: csc=$c$s$cmd
25: case $csc in
26: ff-q) cmd=-t ;;
27: xx-?|?x-[nt]) echo man data not available 1>&2; exit ;;
28: c?-[qw]) cd $CACHE ;;
29: ?s-?) cd $SOURCE
30: esac
31:
32: for i
33: do case $csc in
34: ff-?) slow="$slow $i" ;;
35: *) fil=`echo man$sec/$i.*`
36: for j in $fil
37: do case $csc$j in
38: cs-[qw]*\*) man -n $secn $i ;;
39: *\*) echo man: $i not found 1>&2 ;;
40: cx-[qw]*) quick="$quick $j" ;;
41: cs-[qw]*) if newer $SOURCE/$j $j
42: then slow="$slow $SOURCE/$j"
43: else quick="$quick $j"
44: fi ;;
45: *) slow="$slow $j"
46: esac
47: done
48: esac
49: done
50:
51: case "$slow$quick" in
52: "") exit
53: esac
54:
55: #slightly faster than the honest way: doctype
56: typeset() { tbl $slow | ${1}eqn $T | ${1}roff -man $T $opt }
57: teqn() { eqn $* }
58:
59: case $cmd in
60: -q) if test -t
61: then undln="| ul"
62: else undln=
63: fi
64: eval '( case "$quick" in
65: ?*) cat $quick
66: esac
67: case "$slow" in
68: ?*) typeset n
69: esac)' $undln ;;
70: -t) typeset t ;;
71: -n) typeset n ;;
72: -w) echo $quick $slow
73: esac
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.