Modify fd_prestat to hold C-str together with its length
This commit is contained in:
@@ -98,7 +98,7 @@ fn fd_prestats_get_entry(
|
||||
}
|
||||
|
||||
let prestat = unsafe { &*pt.prestats.add(fd as usize) };
|
||||
if prestat.dir == ::std::ptr::null() {
|
||||
if prestat.dir_name == ::std::ptr::null() {
|
||||
return None;
|
||||
}
|
||||
|
||||
@@ -133,10 +133,9 @@ pub fn wasmtime_ssp_fd_prestat_get(
|
||||
rwlock_rdlock!(prestats);
|
||||
|
||||
let ret_code = if let Some(prestat) = fd_prestats_get_entry(prestats, fd) {
|
||||
(*buf).pr_type = host::__WASI_PREOPENTYPE_DIR;
|
||||
buf.pr_type = host::__WASI_PREOPENTYPE_DIR;
|
||||
unsafe {
|
||||
let dir_name = ::std::ffi::CStr::from_ptr((*prestat).dir).to_str().unwrap();
|
||||
(*buf).u.dir.pr_name_len = dir_name.len();
|
||||
buf.u.dir.pr_name_len = prestat.dir_name_len;
|
||||
}
|
||||
host::__WASI_ESUCCESS
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user