/* ISC license. */ /* OpenBSD needs that for EOVERFLOW. wtfbsdseriously */ #ifndef _BSD_SOURCE #define _BSD_SOURCE #endif #include #include #include #include #include int time_from_tai (time_t *u, tai_t const *t) { register uint64_t uu = t->x - TAI_MAGIC ; #if SKALIBS_SIZEOFTIME < 8 if ((uu >> 32) && (uu >> 32) != 0xffffffffUL) return (errno = EOVERFLOW, 0) ; #endif *u = (time_t)uu ; return 1 ; }