From 262fb26ea92aa03ee788ed4835a103f73a07acbb Mon Sep 17 00:00:00 2001 From: Eggert Jung Date: Fri, 9 Jan 2026 21:43:07 +0100 Subject: [PATCH] fix kappl and read --- kernel/syscall/skeleton.cc | 6 +++--- kernel/user/app2/kappl.cc | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/kernel/syscall/skeleton.cc b/kernel/syscall/skeleton.cc index a139503..afe1da3 100644 --- a/kernel/syscall/skeleton.cc +++ b/kernel/syscall/skeleton.cc @@ -66,16 +66,16 @@ size_t read(Vault &vault, uint32_t id, void *buf, size_t len) { (void)id; size_t read_cnt = 0; - while(read_cnt <= len){ + while(read_cnt < len){ Key key; vault.keys_sem.p(vault); vault.keys.consume(key); if(key.valid()) ((char*)buf)[read_cnt++] = key.ascii(); else - return read_cnt; + break; } - return len; + return read_cnt; } void sleep(Vault &vault, size_t ms) { diff --git a/kernel/user/app2/kappl.cc b/kernel/user/app2/kappl.cc index 8c714b5..7f85175 100644 --- a/kernel/user/app2/kappl.cc +++ b/kernel/user/app2/kappl.cc @@ -15,7 +15,7 @@ void KeyboardApplication::action() { // NOLINT while(1){ char msg[11]; int len; - len = read(0, msg, 10); + len = read(0, msg, 1); if(len){ write(0, msg, len); memcpy(&cmd_buff[bufferpos], msg, len);