instance *it = inewinstance();\r
script_loadlib(it);\r
\r
+ // load '/init' file\r
char *s = initrd_readfile("init");\r
if (s == 0) {\r
dsp_puts("can't find init");\r
goto end;\r
}\r
\r
+ // read in, parse into script code\r
char *linebuf = (char *)malloc(120);\r
uint32_t i = 0, prev = 0, lc;\r
uint32_t size = initrd_filesize("init");\r
}\r
strncpy(linebuf, s + prev, lc + 1);\r
linebuf[lc] = '\0';\r
- ret = idoline(it, linebuf);\r
- if (ret < 0)\r
- break;\r
+ ret = iaddline(it, linebuf);\r
+ if (ret != 0)\r
+ goto fail;\r
prev = ++i;\r
}\r
-\r
- if (ret < 0) {\r
- dsp_puts("\nError: ");\r
- dsp_puts(itoa(ret, linebuf, 10));\r
- }\r
free(linebuf);\r
- //iend(&it); // nah\r
+\r
+ // run the script\r
+ ret = irun(it);\r
+ if (ret != 0)\r
+ goto fail;\r
+ idelinstance(it);\r
\r
end:\r
while (1)\r
delay(10);\r
+fail:\r
+ if (ret < 0) {\r
+ dsp_puts("\nError: ");\r
+ dsp_puts(itoa(ret, linebuf, 10));\r
+ }\r
+ goto end;\r
}\r
\r