summaryrefslogtreecommitdiff
path: root/src/user/init/init.c
diff options
context:
space:
mode:
authorBenji Dial <benji6283@gmail.com>2020-09-06 15:47:06 -0400
committerBenji Dial <benji6283@gmail.com>2020-09-06 15:47:06 -0400
commitb8284137d4e0eec11c78bc14047243fce6a51373 (patch)
tree5969602dc3d090b536edccbf34d33d46a300c192 /src/user/init/init.c
parent73bb0e48640b842824a0b45fe4854df8ff7faf7b (diff)
downloadportland-os-b8284137d4e0eec11c78bc14047243fce6a51373.tar.gz
minor changes, redoing makefile, meminfo program
Diffstat (limited to 'src/user/init/init.c')
-rw-r--r--src/user/init/init.c31
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);
+}