From f298e9e8d66582293fab2a2845ed2808924c1cd4 Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Thu, 9 Feb 2023 09:04:34 +0100 Subject: fix multi pipe bug --- smash/exec.c | 3 +-- smash/main.c | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'smash') diff --git a/smash/exec.c b/smash/exec.c index 79c8414..0fca393 100644 --- a/smash/exec.c +++ b/smash/exec.c @@ -92,7 +92,7 @@ void exec(char *line) close(pipefd[1][PIPE_IN]); __execenv((const char **)argv); - wstdf("command not found: %s\n", argv[0]); + wff(STDERR_FD, "command not found: %s\n", argv[0]); exit(-1); } @@ -100,7 +100,6 @@ void exec(char *line) close(pipefd[0][PIPE_IN]); close(pipefd[0][PIPE_OUT]); } - close(pipefd[1][PIPE_IN]); pipefd[0][0] = pipefd[1][0]; pipefd[0][1] = pipefd[1][1]; diff --git a/smash/main.c b/smash/main.c index 4d81f18..48aaed6 100644 --- a/smash/main.c +++ b/smash/main.c @@ -12,7 +12,7 @@ #define BUFSIZ 16384 char buf[BUFSIZ] = {0}; -int getline(int fd, char *linebuf) +int io_getline(int fd, char *linebuf) { u64 size = 0; char *line = buf; @@ -73,7 +73,7 @@ int main(int argc, char *argv[], char *envp[]) if (fd == STDIN_FD) wstd(prompt); - line_length = getline(fd, linebuf); + line_length = io_getline(fd, linebuf); if (line_length == -1) { break; -- cgit v1.2.3-70-g09d2