diff options
author | Mitya Selivanov <automainint@guattari.tech> | 2023-09-06 03:35:24 +0200 |
---|---|---|
committer | Mitya Selivanov <automainint@guattari.tech> | 2023-09-06 03:35:24 +0200 |
commit | 1aed4ad849e89f00281afb6654367994f99b6110 (patch) | |
tree | 3aa28cee5382e4a76422b8c743c0369ef638995f /source | |
parent | ec667855740993a1c63eb2d2c64b4fc29d95a003 (diff) | |
download | kit-1aed4ad849e89f00281afb6654367994f99b6110.zip |
Fix timespec_get impl
Diffstat (limited to 'source')
-rw-r--r-- | source/kit/time.h | 9 | ||||
-rw-r--r-- | source/kit_test/shared.inl.h | 10 |
2 files changed, 13 insertions, 6 deletions
diff --git a/source/kit/time.h b/source/kit/time.h index e6dcb4a..01fa239 100644 --- a/source/kit/time.h +++ b/source/kit/time.h @@ -17,6 +17,9 @@ # endif # include <Windows.h> +# define KIT_TIMESPEC_IMPL_UNIX_EPOCH_IN_TICKS 116444736000000000ull +# define KIT_TIMESPEC_IMPL_TICKS_PER_SECONDS 10000000ull + static int timespec_get(struct timespec *ts, int base) { if (ts == NULL || base != TIME_UTC) return 0; @@ -29,9 +32,9 @@ static int timespec_get(struct timespec *ts, int base) { date.HighPart = ft.dwHighDateTime; date.LowPart = ft.dwLowDateTime; ticks = (LONGLONG) (date.QuadPart - - _TIMESPEC_IMPL_UNIX_EPOCH_IN_TICKS); - ts->tv_sec = ticks / _TIMESPEC_IMPL_TICKS_PER_SECONDS; - ts->tv_nsec = (ticks % _TIMESPEC_IMPL_TICKS_PER_SECONDS) * 100; + KIT_TIMESPEC_IMPL_UNIX_EPOCH_IN_TICKS); + ts->tv_sec = ticks / KIT_TIMESPEC_IMPL_TICKS_PER_SECONDS; + ts->tv_nsec = (ticks % KIT_TIMESPEC_IMPL_TICKS_PER_SECONDS) * 100; return base; } diff --git a/source/kit_test/shared.inl.h b/source/kit_test/shared.inl.h index f000786..11b42bb 100644 --- a/source/kit_test/shared.inl.h +++ b/source/kit_test/shared.inl.h @@ -22,6 +22,10 @@ # endif # include <Windows.h> +# define KIT_TIMESPEC_IMPL_UNIX_EPOCH_IN_TICKS \ + 116444736000000000ull +# define KIT_TIMESPEC_IMPL_TICKS_PER_SECONDS 10000000ull + static int timespec_get(struct timespec *ts, int base) { if (ts == NULL || base != TIME_UTC) return 0; @@ -34,9 +38,9 @@ static int timespec_get(struct timespec *ts, int base) { date.HighPart = ft.dwHighDateTime; date.LowPart = ft.dwLowDateTime; ticks = (LONGLONG) (date.QuadPart - - _TIMESPEC_IMPL_UNIX_EPOCH_IN_TICKS); - ts->tv_sec = ticks / _TIMESPEC_IMPL_TICKS_PER_SECONDS; - ts->tv_nsec = (ticks % _TIMESPEC_IMPL_TICKS_PER_SECONDS) * 100; + KIT_TIMESPEC_IMPL_UNIX_EPOCH_IN_TICKS); + ts->tv_sec = ticks / KIT_TIMESPEC_IMPL_TICKS_PER_SECONDS; + ts->tv_nsec = (ticks % KIT_TIMESPEC_IMPL_TICKS_PER_SECONDS) * 100; return base; } |