diff --git a/userprog/syscall_write.c b/userprog/syscall_write.c index 9c356db50727391fd00e5e6fa8e2837251227c54..525e2cfea8e17fc6804093b534dff982336adbf9 100644 --- a/userprog/syscall_write.c +++ b/userprog/syscall_write.c @@ -21,7 +21,10 @@ void syscall_write(struct intr_frame *f) { unsigned size = *((unsigned*)((int*)f->esp + 3)); // size to write is fourth // writing to stdout or stderr (fd in {1, 2}) is a special case switch (fd) { - case 1: // stdin + case 0: // writing to stdin (keyboard) is an error condition + f->eax = 0; + break; + case 1: // stdout case 2: // stderr write_to_console((const char*)buffer, size); f->eax = size;