xref: /inferno-os/utils/lib/rcmain (revision 74a4d8c26dd3c1e9febcb717cfd6cb6512991a7a)
1*74a4d8c2SCharles.Forsyth# rcmain: 9pm version
2*74a4d8c2SCharles.Forsythif(~ $#home 0) home=/
3*74a4d8c2SCharles.Forsythif(~ $#ifs 0) ifs='
4*74a4d8c2SCharles.Forsyth'
5*74a4d8c2SCharles.Forsythswitch($#prompt){
6*74a4d8c2SCharles.Forsythcase 0
7*74a4d8c2SCharles.Forsythcase 1
8*74a4d8c2SCharles.Forsyth	prompt=('% ' '	')
9*74a4d8c2SCharles.Forsyth}
10*74a4d8c2SCharles.Forsythif(~ $rcname v.out) prompt=('broken! ' '	')
11*74a4d8c2SCharles.Forsythif(! ~ $#cflag 0){
12*74a4d8c2SCharles.Forsyth	if(flag l && test -r $home/lib/profile) . $home/lib/profile
13*74a4d8c2SCharles.Forsyth	status=''
14*74a4d8c2SCharles.Forsyth	eval $cflag
15*74a4d8c2SCharles.Forsyth}
16*74a4d8c2SCharles.Forsythif not if(flag i){
17*74a4d8c2SCharles.Forsyth	if(flag l && test -r $home/lib/profile) . $home/lib/profile
18*74a4d8c2SCharles.Forsyth	status=''
19*74a4d8c2SCharles.Forsyth	if(! ~ $#* 0) . $*
20*74a4d8c2SCharles.Forsyth	if not . -i 'stdin$'
21*74a4d8c2SCharles.Forsyth}
22*74a4d8c2SCharles.Forsythif not {
23*74a4d8c2SCharles.Forsyth	if(~ $#* 0) . 'stdin$'
24*74a4d8c2SCharles.Forsyth	if not{
25*74a4d8c2SCharles.Forsyth		status=''
26*74a4d8c2SCharles.Forsyth		. $*
27*74a4d8c2SCharles.Forsyth	}
28*74a4d8c2SCharles.Forsyth}
29*74a4d8c2SCharles.Forsythexit $status
30