summaryrefslogtreecommitdiff
path: root/kernel/sysfile.c
diff options
context:
space:
mode:
authorRobert Morris <[email protected]>2020-07-16 11:38:08 -0400
committerFrans Kaashoek <[email protected]>2020-08-10 11:19:10 -0400
commitaf9eb9114c2f8700d4315eaa1e2d637c2aaaf210 (patch)
tree9e2e5cc663d2a3d56358121761755a4d3e878d6b /kernel/sysfile.c
parent672217ae2a3d68b73b2229ab368979ef7790e28a (diff)
downloadxv6-labs-af9eb9114c2f8700d4315eaa1e2d637c2aaaf210.tar.gz
xv6-labs-af9eb9114c2f8700d4315eaa1e2d637c2aaaf210.tar.bz2
xv6-labs-af9eb9114c2f8700d4315eaa1e2d637c2aaaf210.zip
make "echo hello > x" truncate file x.
Diffstat (limited to 'kernel/sysfile.c')
-rw-r--r--kernel/sysfile.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/sysfile.c b/kernel/sysfile.c
index 7768d20..015c942 100644
--- a/kernel/sysfile.c
+++ b/kernel/sysfile.c
@@ -341,6 +341,10 @@ sys_open(void)
f->readable = !(omode & O_WRONLY);
f->writable = (omode & O_WRONLY) || (omode & O_RDWR);
+ if((omode & O_TRUNC) && ip->type == T_FILE){
+ itrunc(ip);
+ }
+
iunlock(ip);
end_op();