diff --git a/src/header/time/mod.rs b/src/header/time/mod.rs index 7c17155a5e0b48c8d9aec1af8a3279196fc860a5..b5c7aa2d0c9e2b79e5d4a9fd715e3273732e72fb 100644 --- a/src/header/time/mod.rs +++ b/src/header/time/mod.rs @@ -141,9 +141,22 @@ pub unsafe extern "C" fn ctime(clock: *const time_t) -> *mut c_char { #[no_mangle] pub unsafe extern "C" fn ctime_r(clock: *const time_t, buf: *mut c_char) -> *mut c_char { - let mut tm1: tm = core::mem::uninitialized(); + // Using MaybeUninit<tm> seems to cause a panic during the build process + let mut tm1 = tm { + tm_sec: 0, + tm_min: 0, + tm_hour: 0, + tm_mday: 0, + tm_mon: 0, + tm_year: 0, + tm_wday: 0, + tm_yday: 0, + tm_isdst: 0, + tm_gmtoff: 0, + tm_zone: core::ptr::null_mut(), + }; localtime_r(clock, &mut tm1); - asctime_r(&mut tm1, buf) + asctime_r(&tm1, buf) } #[no_mangle]