diff options
author | Freya Murphy <freya@freyacat.org> | 2025-04-28 11:10:59 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-04-28 11:10:59 -0400 |
commit | 36ba79324740ec3b6dc305961a9a2609223b032d (patch) | |
tree | cde6db17822e68cb667872fca6a9944a93e00e94 /kernel/syscall.c | |
parent | fmt (diff) | |
download | comus-36ba79324740ec3b6dc305961a9a2609223b032d.tar.gz comus-36ba79324740ec3b6dc305961a9a2609223b032d.tar.bz2 comus-36ba79324740ec3b6dc305961a9a2609223b032d.zip |
stderr in write syscall
Diffstat (limited to '')
-rw-r--r-- | kernel/syscall.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/syscall.c b/kernel/syscall.c index 44bfe5f..94eec36 100644 --- a/kernel/syscall.c +++ b/kernel/syscall.c @@ -16,6 +16,10 @@ static struct pcb *pcb; #define ARG3(type, name) type name = (type)(pcb->regs.rdx) #define ARG4(type, name) type name = (type)(pcb->regs.rcx) +#define stdin 0 +#define stdout 1 +#define stderr 2 + __attribute__((noreturn)) static int sys_exit(void) { ARG1(int, status); @@ -52,8 +56,8 @@ static int sys_write(void) if (fd == 0) nbytes = 0; - // write to stdout - else if (fd == 1) { + // write to stdout / stderr + else if (fd == stdout || fd == stderr) { for (size_t i = 0; i < nbytes; i++) kputc(map_buf[i]); } |