diff --git a/src/header/sys_timeb/mod.rs b/src/header/sys_timeb/mod.rs index 8935f5b474..5e53a6be2b 100644 --- a/src/header/sys_timeb/mod.rs +++ b/src/header/sys_timeb/mod.rs @@ -7,17 +7,15 @@ //! Specifications Issue 6, and the entire `sys/timeb.h` header was removed in //! Issue 7. -use core::ptr::NonNull; - #[allow(deprecated)] use crate::header::sys_time::gettimeofday; use crate::{ header::{sys_select::timeval, sys_time::timezone}, + out::Out, platform::types::{c_int, c_short, c_ushort, time_t}, }; /// See . -#[deprecated] #[repr(C)] #[derive(Default)] pub struct timeb { @@ -30,14 +28,13 @@ pub struct timeb { /// See . /// /// # Safety -/// The caller must ensure that `tp` is convertible to a `&mut -/// MaybeUninit`. -#[deprecated] +/// The caller must ensure that `tp` is convertible to an [`Out`]. #[allow(deprecated)] +#[deprecated] #[unsafe(no_mangle)] pub unsafe extern "C" fn ftime(tp: *mut timeb) -> c_int { // SAFETY: the caller is required to ensure that the pointer is valid. - let tp_maybe_uninit = unsafe { NonNull::new_unchecked(tp).as_uninit_mut() }; + let mut tp_out = unsafe { Out::nonnull(tp) }; let mut tv = timeval::default(); let mut tz = timezone::default(); @@ -53,7 +50,7 @@ pub unsafe extern "C" fn ftime(tp: *mut timeb) -> c_int { } #[allow(deprecated)] - tp_maybe_uninit.write(timeb { + tp_out.write(timeb { time: tv.tv_sec, millitm: (tv.tv_usec / 1000) as c_ushort, timezone: tz.tz_minuteswest as c_short,