#![allow(unsafe_code)]
use windows_sys::Win32::Foundation::SYSTEMTIME;
use windows_sys::Win32::System::Time::SystemTimeToTzSpecificLocalTime;
pub(super) fn local_offset_seconds(unix_secs: i64) -> Option<i64> {
let utc = super::to_system_time(unix_secs)?;
let mut local = SYSTEMTIME {
wYear: 0,
wMonth: 0,
wDayOfWeek: 0,
wDay: 0,
wHour: 0,
wMinute: 0,
wSecond: 0,
wMilliseconds: 0,
};
let ok = unsafe { SystemTimeToTzSpecificLocalTime(std::ptr::null(), &utc, &mut local) };
if ok == 0 {
return None;
}
Some(super::from_system_time(&local) - unix_secs)
}