implement map-dir for WASI; fix bug in path_open

This commit is contained in:
Mark McCaskey
2019-05-16 17:35:13 -07:00
parent 4ddffb8285
commit f9beef276d
4 changed files with 74 additions and 20 deletions

View File

@ -14,6 +14,7 @@ use self::state::{WasiFs, WasiState};
use self::syscalls::*;
use std::ffi::c_void;
use std::path::PathBuf;
pub use self::utils::is_wasi_module;
@ -29,6 +30,7 @@ pub fn generate_import_object(
args: Vec<Vec<u8>>,
envs: Vec<Vec<u8>>,
preopened_files: Vec<String>,
mapped_dirs: Vec<(PathBuf, String)>,
) -> ImportObject {
let state_gen = move || {
fn state_destructor(data: *mut c_void) {
@ -38,7 +40,7 @@ pub fn generate_import_object(
}
let state = Box::new(WasiState {
fs: WasiFs::new(&preopened_files).unwrap(),
fs: WasiFs::new(&preopened_files, &mapped_dirs).unwrap(),
args: &args[..],
envs: &envs[..],
});