From 9eddd8a73e3bd56e50c36a231e5a12100db300da Mon Sep 17 00:00:00 2001 From: Peter Limkilde Svendsen Date: Mon, 25 May 2026 14:48:14 +0200 Subject: [PATCH] Use Out for out-pointer in ftime() --- src/header/sys_timeb/mod.rs | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) 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,