summaryrefslogtreecommitdiff
path: root/src/user/app/init/driver/ansiterm.c
diff options
context:
space:
mode:
authordzwdz2022-07-29 19:06:23 +0200
committerdzwdz2022-07-29 19:06:23 +0200
commit2cdc815322af6c7c22b9ceb371d9c7b2a4853c0e (patch)
tree98023777a62a533a3ac1d68ef99bcdd8bbee685e /src/user/app/init/driver/ansiterm.c
parenta658e1068eb2f849736931d2b99bcb6290c7ec0a (diff)
syscall/write: WRITE_TRUNCATE
Diffstat (limited to 'src/user/app/init/driver/ansiterm.c')
-rw-r--r--src/user/app/init/driver/ansiterm.c12
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: