diff --git a/sys/kernel/vfs_calls.c b/sys/kernel/vfs_calls.c index 982abf3..c90e49f 100644 --- a/sys/kernel/vfs_calls.c +++ b/sys/kernel/vfs_calls.c @@ -73,8 +73,12 @@ if (error) return(error); - - nfp->fd = fopen(args->path,"r"); + if ((args->flag & O_WRONLY) == O_WRONLY) + nfp->fd = fopen(args->path, "w"); + else if ((args->flag & O_RDWR) == O_RDWR) + nfp->fd = fopen(args->path, "a"); + else + nfp->fd = fopen(args->path, "r"); if (nfp->fd == 0x0) { fdestroy(td, nfp, fd);