mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 05:44:20 +00:00
io: Translate Windows Clock.real timestamps to the POSIX/Unix epoch
This fixes `std.http.Client` TLS certificate validation on Windows.
This commit is contained in:
parent
cbfa87cbea
commit
ed7f2588e4
1 changed files with 2 additions and 1 deletions
|
|
@ -2864,7 +2864,8 @@ fn nowWindows(userdata: ?*anyopaque, clock: Io.Clock) Io.Clock.Error!Io.Timestam
|
|||
.real => {
|
||||
// RtlGetSystemTimePrecise() has a granularity of 100 nanoseconds
|
||||
// and uses the NTFS/Windows epoch, which is 1601-01-01.
|
||||
return .{ .nanoseconds = @as(i96, windows.ntdll.RtlGetSystemTimePrecise()) * 100 };
|
||||
const epoch_ns = std.time.epoch.windows * std.time.ns_per_s;
|
||||
return .{ .nanoseconds = @as(i96, windows.ntdll.RtlGetSystemTimePrecise()) * 100 + epoch_ns };
|
||||
},
|
||||
.awake, .boot => {
|
||||
// QPC on windows doesn't fail on >= XP/2000 and includes time suspended.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue