From 576873f0f9c4fdf713633c29bda1254cfc163f96 Mon Sep 17 00:00:00 2001 From: Andrea Mazzoleni Date: Tue, 18 Aug 2026 10:33:08 +0200 Subject: [PATCH] Use tv[1] as mtime in Windows futimens and utimensat emulation --- os/mingw.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/os/mingw.c b/os/mingw.c index 6a6fa74d..eee2fa8e 100644 --- a/os/mingw.c +++ b/os/mingw.c @@ -1114,9 +1114,9 @@ int windows_futimens(int fd, struct windows_timespec tv[2]) * How To Convert a UNIX time_t to a Win32 FILETIME or SYSTEMTIME * http://support.microsoft.com/kb/167296 */ - mtime = tv[0].tv_sec; + mtime = tv[1].tv_sec; mtime *= 10000000; - mtime += tv[0].tv_nsec / 100; + mtime += tv[1].tv_nsec / 100; mtime += 116444736000000000LL; ft.dwHighDateTime = mtime >> 32; @@ -1172,9 +1172,9 @@ int windows_utimensat(int fd, const char* file, struct windows_timespec tv[2], i * How To Convert a UNIX time_t to a Win32 FILETIME or SYSTEMTIME * http://support.microsoft.com/kb/167296 */ - mtime = tv[0].tv_sec; + mtime = tv[1].tv_sec; mtime *= 10000000; - mtime += tv[0].tv_nsec / 100; + mtime += tv[1].tv_nsec / 100; mtime += 116444736000000000LL; ft.dwHighDateTime = mtime >> 32;