#include "time32.h" #include <sys/time.h> #include <errno.h> #include <stdint.h> int __gettimeofday_time32(struct timeval32 *tv32, void *tz) { struct timeval tv; if (!tv32) return 0; int r = gettimeofday(&tv, 0); if (r) return r; if (tv.tv_sec < INT32_MIN || tv.tv_sec > INT32_MAX) { errno = EOVERFLOW; return -1; } tv32->tv_sec = tv.tv_sec; tv32->tv_usec = tv.tv_usec; return 0; }