diff options
author | Ian Moffett <ian@osmora.org> | 2025-10-07 15:39:31 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2025-10-07 15:41:49 -0400 |
commit | 49ebfc4ef4d7194462eba62b5ad452079ff904cc (patch) | |
tree | f23da9f36a4257d714a9a40b9450c63f2dd39c7f /src/sys/os | |
parent | b696b9b4da96d279ec8ea56a4c1977f843b3680c (diff) |
kern: filedes: Write non standard streams
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'src/sys/os')
-rw-r--r-- | src/sys/os/os_filedes.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/sys/os/os_filedes.c b/src/sys/os/os_filedes.c index bb01f97..298a18a 100644 --- a/src/sys/os/os_filedes.c +++ b/src/sys/os/os_filedes.c @@ -250,6 +250,10 @@ write(int fd, const void *buf, size_t count) return -EPERM; } + /* + * Handle standard streams separately, otherwise if not a + * standard dream, write to it as a normal file + */ memcpy(kbuf, buf, count); switch (fd) { case STDOUT_FILENO: @@ -259,7 +263,10 @@ write(int fd, const void *buf, size_t count) ); break; default: - return -EBADF; + if (fdp->vp == NULL) { + return -EIO; + } + return vop_write(fdp->vp, kbuf, count); } return count; |