[wasi-common]: move filetime module to yanix (#1255)
* Move filetime module to yanix I've noticed that we could replace every occurrence of `crate::Result` in `filetime` mods with `io::Result`, so I thought why not move it to `yanix` and get rid off a lot of unnecessary code duplication within `wasi-common`. Now, ideally I'd have our `filetime` modifications backported to Alex's [`filetime`] crate, but one step at a time (apologies Alex, I was meant to backport this ages ago, just didn't find the time yet... :-(). Anyway, this commit does just that; i.e., moves the `filetime` modules into `yanix` which seems a better fit for this type of code. [`filetime`]: https://github.com/alexcrichton/filetime There is one caveat here. On Emscripten, converting between `filetime::Filetime` and `libc::timespec` appears to be lossy, at least as far as the types are concerned. Now, `filetime::Filetime`'s seconds field is `i64` while nanoseconds field is `u32`, while Emscripten's `libc::timespec` requires both to be `i32` width. This might actually not be a problem since I don't think it's possible to fill `filetime::Filetime` struct with values of width wider than `i32` since Emscripten is 32bit but just to be on the safe side, we do a `TryInto` conversion, log the error (if any), and return `libc::EOVERFLOW`. * Run cargo fmt * Use i64::from instead of as cast
This commit is contained in:
@@ -2,8 +2,6 @@ pub(crate) mod fdentry_impl;
|
||||
pub(crate) mod host_impl;
|
||||
pub(crate) mod hostcalls_impl;
|
||||
|
||||
mod filetime;
|
||||
|
||||
cfg_if::cfg_if! {
|
||||
if #[cfg(target_os = "linux")] {
|
||||
mod linux;
|
||||
|
||||
Reference in New Issue
Block a user