summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCasper Beyer <caspervonb@pm.me>2020-06-27 19:53:43 +0800
committerGitHub <noreply@github.com>2020-06-27 13:53:43 +0200
commit40dcfc89969b6492a616d816c67ffdc081132d15 (patch)
tree3c46dc086cc511241ae7982bf383a16751f8492d
parent6c093c0b5a1c908712c95c8657c42b30421bd519 (diff)
fix(std/wasi): path_filestat_get padding (#6509)
-rw-r--r--std/wasi/snapshot_preview1.ts10
-rw-r--r--std/wasi/testdata/std_fs_metadata.rs10
2 files changed, 9 insertions, 11 deletions
diff --git a/std/wasi/snapshot_preview1.ts b/std/wasi/snapshot_preview1.ts
index a1ae5c8b9..e04222240 100644
--- a/std/wasi/snapshot_preview1.ts
+++ b/std/wasi/snapshot_preview1.ts
@@ -864,27 +864,27 @@ export default class Module {
switch (true) {
case info.isFile:
view.setUint8(buf_out, FILETYPE_REGULAR_FILE);
- buf_out += 4;
+ buf_out += 8;
break;
case info.isDirectory:
view.setUint8(buf_out, FILETYPE_DIRECTORY);
- buf_out += 4;
+ buf_out += 8;
break;
case info.isSymlink:
view.setUint8(buf_out, FILETYPE_SYMBOLIC_LINK);
- buf_out += 4;
+ buf_out += 8;
break;
default:
view.setUint8(buf_out, FILETYPE_UNKNOWN);
- buf_out += 4;
+ buf_out += 8;
break;
}
view.setUint32(buf_out, Number(info.nlink), true);
- buf_out += 4;
+ buf_out += 8;
view.setBigUint64(buf_out, BigInt(info.size), true);
buf_out += 8;
diff --git a/std/wasi/testdata/std_fs_metadata.rs b/std/wasi/testdata/std_fs_metadata.rs
index 914e9ab74..d77ea2ae2 100644
--- a/std/wasi/testdata/std_fs_metadata.rs
+++ b/std/wasi/testdata/std_fs_metadata.rs
@@ -3,26 +3,24 @@
fn main() {
let metadata = std::fs::metadata("/fixture/directory").unwrap();
assert!(metadata.is_dir());
- assert!(metadata.len() > 0);
let metadata = std::fs::metadata("/fixture/symlink_to_directory").unwrap();
assert!(metadata.is_dir());
- assert!(metadata.len() > 0);
let metadata = std::fs::metadata("/fixture/file").unwrap();
assert!(metadata.is_file());
- assert!(metadata.len() > 0);
+ assert_eq!(metadata.len(), 5);
let metadata = std::fs::metadata("/fixture/symlink_to_file").unwrap();
assert!(metadata.is_file());
- assert!(metadata.len() > 0);
+ assert_eq!(metadata.len(), 5);
let metadata = std::fs::metadata("/fixture/directory/file").unwrap();
assert!(metadata.is_file());
- assert!(metadata.len() > 0);
+ assert_eq!(metadata.len(), 15);
let metadata =
std::fs::metadata("/fixture/directory/symlink_to_file").unwrap();
assert!(metadata.is_file());
- assert!(metadata.len() > 0);
+ assert_eq!(metadata.len(), 15);
}