summaryrefslogtreecommitdiff
path: root/std/wasi/snapshot_preview1.ts
diff options
context:
space:
mode:
authorCasper Beyer <caspervonb@pm.me>2020-06-30 02:36:22 +0800
committerGitHub <noreply@github.com>2020-06-29 14:36:22 -0400
commit3c5459d849502963ee44efc7c3137db6e9fc63b2 (patch)
treeea3c88234835372fb1a8c0ca83371a3ceed889d9 /std/wasi/snapshot_preview1.ts
parent4cde7fdc9a52088f8dfe3e23569d6be2faa80d0f (diff)
feat(std/wasi) implement fd_filestat_set_size (#6558)
Diffstat (limited to 'std/wasi/snapshot_preview1.ts')
-rw-r--r--std/wasi/snapshot_preview1.ts13
1 files changed, 12 insertions, 1 deletions
diff --git a/std/wasi/snapshot_preview1.ts b/std/wasi/snapshot_preview1.ts
index d52b81635..4fe4e02b4 100644
--- a/std/wasi/snapshot_preview1.ts
+++ b/std/wasi/snapshot_preview1.ts
@@ -607,7 +607,18 @@ export default class Module {
},
fd_filestat_set_size: (fd: number, size: bigint): number => {
- return ERRNO_NOSYS;
+ const entry = this.fds[fd];
+ if (!entry) {
+ return ERRNO_BADF;
+ }
+
+ try {
+ Deno.ftruncateSync(entry.handle.rid, Number(size));
+ } catch (err) {
+ return errno(err);
+ }
+
+ return ERRNO_SUCCESS;
},
fd_filestat_set_times: (