#!/bin/rc # note that $1 always exist. see /sys/lib/httpd.rewrite: # /sys/man /man/man.html; # /magic/man2html /man/man.html; # # example: # /4/acme # # /magic/man2htlm/4/acme # -> /man/man.html;/4/acme # $1 is /4/acmd # /magic/man2htlm?pat=u9fs # -> /man/man.html;?pat=u9fs # $1 is '' # /magic/man2htlm/ # -> /man/man.html;/ # $1 is / # #echo $* '

' if(! ~ $#QUERY_STRING 0){ qsparse $QUERY_STRING cd /env for (a in QS_*) $a = `{cat $a} if(! ~ $#QS_man 0){ troff -manhtml /sys/man/$QS_sect/$QS_man|\ troff2html -t $QS_man #troff2html -t $QS_man -p /man/man.html';' exit } if(! ~ $#QS_pat 0){ # be careful. $QS_pat may has two or more elements # whatis QS_pat # we will get: (acme namespace) for example echo 'plan 9 search for: '$"QS_pat'' echo '

This is a keyword search through Plan 9 man pages. The search is case insensitive; blanks denote "boolean and".


Search for : '$"QS_pat'

' exit } exit } if not{ switch($1){ case / /index.html cat /sys/man/index.html case /[0-9]/INDEX.html /[0-9]/index.html i=$ifs ifs='/' a=`{echo -n $1} ifs=$i # don' write: /sys/man/$a(1)/INDEX.html # bug of rc ? cat /sys/man/$a(1)^/INDEX.html case /[0-9]/intro i=$ifs ifs =/ a=`{echo $1} ifs=$i t=$a(1)^/0intro troff -manhtml /sys/man/$t|troff2html -t $1 case /[0-9]/* troff -manhtml /sys/man$1|troff2html -t $1 case /*.html cat /sys/man$1 case /* echo 'Sorry I don''t have that file' $1 } }