Use safe casts in path_filestat_set_times on unix.

This commit is contained in:
Marcin Mielniczuk
2019-08-22 14:00:25 +02:00
committed by Jakub Konka
parent 69d60c4711
commit 9950bddee5

View File

@@ -389,8 +389,8 @@ pub(crate) fn path_filestat_set_times(
st_mtim: host::__wasi_timestamp_t, st_mtim: host::__wasi_timestamp_t,
fst_flags: host::__wasi_fstflags_t, fst_flags: host::__wasi_fstflags_t,
) -> Result<()> { ) -> Result<()> {
use nix::sys::time::{TimeSpec, TimeValLike};
use nix::sys::stat::{utimensat, UtimensatFlags}; use nix::sys::stat::{utimensat, UtimensatFlags};
use nix::sys::time::{TimeSpec, TimeValLike};
// FIXME this should be a part of nix // FIXME this should be a part of nix
fn timespec_omit() -> TimeSpec { fn timespec_omit() -> TimeSpec {
@@ -424,7 +424,8 @@ pub(crate) fn path_filestat_set_times(
}; };
let atim = if set_atim_now { let atim = if set_atim_now {
TimeSpec::nanoseconds(st_atim as i64) // fixme let st_atim = st_atim.try_into().map_err(|_| host::__WASI_EOVERFLOW)?;
TimeSpec::nanoseconds(st_atim)
} else if set_atim_now { } else if set_atim_now {
timespec_now() timespec_now()
} else { } else {
@@ -432,7 +433,8 @@ pub(crate) fn path_filestat_set_times(
}; };
let mtim = if set_mtim { let mtim = if set_mtim {
TimeSpec::nanoseconds(st_mtim as i64) // fixme let st_mtim = st_mtim.try_into().map_err(|_| host::__WASI_EOVERFLOW)?;
TimeSpec::nanoseconds(st_mtim)
} else if set_atim_now { } else if set_atim_now {
timespec_now() timespec_now()
} else { } else {