diff options
Diffstat (limited to 'src/user/init/init.c')
-rw-r--r-- | src/user/init/init.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/user/init/init.c b/src/user/init/init.c new file mode 100644 index 0000000..b8536be --- /dev/null +++ b/src/user/init/init.c @@ -0,0 +1,31 @@ +#include <knob/user.h> +#include <knob/file.h> +#include <knob/task.h> + +void main() { + struct file *f = open_file("SYS/STARTUP.RC"); + if (!f) { + tell_user_sz("Could not open SYS/STARTUP.RC\n"); + return; + } + + char buf[1024]; + char *bufp = buf; + while (read_from_file(f, 1, bufp)) { + if (*bufp == '\n') { + if (bufp == buf) + continue; + *bufp = '\0'; + try_run_command(buf); + bufp = buf; + } + else + ++bufp; + } + if (bufp != buf) { + *bufp = '\0'; + try_run_command(buf); + } + + close_file(f); +} |