aboutsummaryrefslogtreecommitdiff
path: root/sys/cmd/rc/main.c
blob: 46a4e0f92e3d7807d2b96208d30de86aa9541bb6 (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "rc.h"
#include "parse.h"
#include "exec.h"

int     rcpid;
Io     *errio = nil;
Thread *shell = nil;

int
main(int argc, char *argv[])
{
    int i;
    Code bootstrap[32];
    char num[12];

    errio = openfd(2);

    initenv();
    initpath();

    itoa(num, rcpid = getpid());
    setvar("pid", makeword(num, nil));

    xboot(argc, argv);
#if 0
    Thread root = {
        .cmd  = {
            .path = "<nil>",
            .io   = openfd(0),
        },
        .line = 0,
        .flag = {
            .i    = 1,
            .eof  = 0,
        },
    };

    shell = &root;
    errio = openfd(2);
#if 1
    while(!yyparse())
        ;
#else
    printkeycode()
#endif
#endif
}