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