From e7a7447550cdae05f982c182a82368d9cf5052a6 Mon Sep 17 00:00:00 2001 From: IoIxD Date: Tue, 20 Jan 2026 18:21:51 -0700 Subject: [PATCH] start/end input capture more appropriately so that launched applications don't default to raw mode --- src/system/linux/linux.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/system/linux/linux.c b/src/system/linux/linux.c index e1b598e..b49eb33 100644 --- a/src/system/linux/linux.c +++ b/src/system/linux/linux.c @@ -57,10 +57,12 @@ int msh_read_input(char *ptr, SIZE_TYPE *size, SIZE_TYPE n) { void msh_write(char *st, SIZE_TYPE size) { SYSCALL(write, 1, st, size); } int msh_execute(char *cmd, char **args) { + SIZE_TYPE fork; + if (*cmd == '\0') { return 0; } - SIZE_TYPE fork = (SIZE_TYPE)SYSCALL(fork, 0); + fork = (SIZE_TYPE)SYSCALL(fork, 0); if (fork == 0) { char **env_translated = 0; @@ -88,6 +90,7 @@ int msh_execute(char *cmd, char **args) { env_translated[i++] = 0; + msh_linux_end_input_capture(); ret = (int)SYSCALL(execve, cmd, args, env_translated); for (n = 0; n < i; n++) { @@ -106,6 +109,7 @@ int msh_execute(char *cmd, char **args) { SYSCALL(kill, fork, SIGKILL); SYSCALL(write, 1, "\r", 2); + msh_linux_start_input_capture(); return info.si_code; }