From e296ed8004bc9fbf5695f4293f43d057df3739a2 Mon Sep 17 00:00:00 2001 From: Trent Huber Date: Mon, 8 Dec 2025 22:05:06 -0500 Subject: [PATCH] Fix empty file creation bug --- src/input.c | 1 + src/run.c | 8 +++----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/input.c b/src/input.c index e6b363d..1505b76 100644 --- a/src/input.c +++ b/src/input.c @@ -114,6 +114,7 @@ static void newline(void) { if (OFFSET(cursor) > OFFSET(end)) putchar('\n'); if (OFFSET(end)) putchar('\n'); putchar('\r'); + fflush(stdout); } void getcolumns(void) { diff --git a/src/run.c b/src/run.c index b426607..9fd4e0c 100644 --- a/src/run.c +++ b/src/run.c @@ -30,12 +30,13 @@ static int closepipe(struct command command) { } static void redirectfiles(struct redirect *r) { - int access, fd; + int access; for (; r->mode; ++r) { if (r->oldname) { switch (r->mode) { case READ: + default: access = O_RDONLY; break; case WRITE: @@ -46,12 +47,9 @@ static void redirectfiles(struct redirect *r) { break; case APPEND: access = O_WRONLY | O_CREAT | O_APPEND; - default: - break; } - if ((fd = open(r->oldname, access, 0644)) == -1) + if ((r->oldfd = open(r->oldname, access, 0644)) == -1) fatal("Unable to open `%s'", r->oldname); - r->oldfd = fd; } if (dup2(r->oldfd, r->newfd) == -1) fatal("Unable to redirect file descriptor %d to %d", r->newfd, r->oldfd); -- 2.51.0