diff options
author | dzwdz | 2022-07-29 19:06:23 +0200 |
---|---|---|
committer | dzwdz | 2022-07-29 19:06:23 +0200 |
commit | 2cdc815322af6c7c22b9ceb371d9c7b2a4853c0e (patch) | |
tree | 98023777a62a533a3ac1d68ef99bcdd8bbee685e /src/user/app/init/driver/ansiterm.c | |
parent | a658e1068eb2f849736931d2b99bcb6290c7ec0a (diff) |
syscall/write: WRITE_TRUNCATE
Diffstat (limited to 'src/user/app/init/driver/ansiterm.c')
-rw-r--r-- | src/user/app/init/driver/ansiterm.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/user/app/init/driver/ansiterm.c b/src/user/app/init/driver/ansiterm.c index 5daab41..0c720eb 100644 --- a/src/user/app/init/driver/ansiterm.c +++ b/src/user/app/init/driver/ansiterm.c @@ -84,10 +84,14 @@ void ansiterm_drv(void) { break; case VFSOP_WRITE: - for (size_t i = 0; i < res.len; i++) - in_char(buf[i]); - /* if (pendingFlush) */ flush(); - _syscall_fs_respond(NULL, res.len, 0); + if (res.flags) { + _syscall_fs_respond(NULL, -1, 0); + } else { + for (size_t i = 0; i < res.len; i++) + in_char(buf[i]); + /* if (pendingFlush) */ flush(); + _syscall_fs_respond(NULL, res.len, 0); + } break; default: |