From 996126cc40b6854e9c0b57bbed65bc0fc330901a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Fri, 27 Jan 2017 19:05:21 +0000 Subject: [PATCH] Use MUD_EPOCH instead of 1970 --- mud.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mud.c b/mud.c index cc062cc..12a6d2c 100644 --- a/mud.c +++ b/mud.c @@ -46,6 +46,10 @@ #define MUD_ONE_SEC (1000 * MUD_ONE_MSEC) #define MUD_ONE_MIN (60 * MUD_ONE_SEC) +#ifndef MUD_EPOCH +#define MUD_EPOCH UINT64_C(1483228800) // 1 Jan 2017 +#endif + #define MUD_U48_SIZE (6U) #define MUD_KEY_SIZE (32U) #define MUD_MAC_SIZE (16U) @@ -239,11 +243,11 @@ mud_now(void) #if defined CLOCK_REALTIME struct timespec tv; clock_gettime(CLOCK_REALTIME, &tv); - now = tv.tv_sec * MUD_ONE_SEC + tv.tv_nsec / MUD_ONE_MSEC; + now = (tv.tv_sec - MUD_EPOCH) * MUD_ONE_SEC + tv.tv_nsec / MUD_ONE_MSEC; #else struct timeval tv; gettimeofday(&tv, NULL); - now = tv.tv_sec * MUD_ONE_SEC + tv.tv_usec; + now = (tv.tv_sec - MUD_EPOCH) * MUD_ONE_SEC + tv.tv_usec; #endif return now & ((UINT64_C(1) << 48) - 1); }