start/end input capture more appropriately so that launched applications don't default to raw mode

This commit is contained in:
IoIxD 2026-01-20 18:21:51 -07:00
commit e7a7447550

View file

@ -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;
}