Now excluding --debug, -d from arguments + removing unneeded code.
h3rald h3rald@h3rald.com
Fri, 24 Jul 2026 13:19:05 +0200
2 files changed,
12 insertions(+),
10 deletions(-)
M
devices/terminal.c
→
devices/terminal.c
@@ -64,14 +64,9 @@
void terminal_output(xyw_byte *data, xyw_byte addr, xyw_byte *error) { (void)error; - switch (addr) - { - case TERMINAL_INPUT: - break; - case TERMINAL_OUTPUT: + if (addr == TERMINAL_OUTPUT) { fputc(data[addr], stdout); fflush(stdout); - break; } }
M
xyw.c
→
xyw.c
@@ -31,15 +31,22 @@ }
int main(int argc, char *argv[]) { - xyw_argc = argc; - - for (int i = 0; i < argc && i < 32; i++) + // First pass: detect flags + for (int i = 1; i < argc; i++) { - xyw_argv[i] = argv[i]; if (flag(argv[i], "debug")) { xyw_debug = 1; } + } + + // Second pass: copy non-flag args into xyw_argv + xyw_argc = 0; + for (int i = 0; i < argc && xyw_argc < 32; i++) + { + if (i > 0 && flag(argv[i], "debug")) + continue; + xyw_argv[xyw_argc++] = argv[i]; } for (int i = 1; i < argc; i++)