diff options
author | Casper Beyer <caspervonb@pm.me> | 2020-06-27 19:53:43 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-27 13:53:43 +0200 |
commit | 40dcfc89969b6492a616d816c67ffdc081132d15 (patch) | |
tree | 3c46dc086cc511241ae7982bf383a16751f8492d | |
parent | 6c093c0b5a1c908712c95c8657c42b30421bd519 (diff) |
fix(std/wasi): path_filestat_get padding (#6509)
-rw-r--r-- | std/wasi/snapshot_preview1.ts | 10 | ||||
-rw-r--r-- | std/wasi/testdata/std_fs_metadata.rs | 10 |
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); } |