1 #include "time32.h" 2 #include <time.h> 3 #include <errno.h> 4 #include <stdint.h> 5 __mktime32(struct tm * tm)6time32_t __mktime32(struct tm *tm) 7 { 8 struct tm tmp = *tm; 9 time_t t = mktime(&tmp); 10 if (t < INT32_MIN || t > INT32_MAX) { 11 errno = EOVERFLOW; 12 return -1; 13 } 14 *tm = tmp; 15 return t; 16 } 17