master
 1#define _GNU_SOURCE
 2#include "time_impl.h"
 3#include <errno.h>
 4
 5time_t timegm(struct tm *tm)
 6{
 7	struct tm new;
 8	long long t = __tm_to_secs(tm);
 9	if (__secs_to_tm(t, &new) < 0) {
10		errno = EOVERFLOW;
11		return -1;
12	}
13	*tm = new;
14	tm->tm_isdst = 0;
15	tm->__tm_gmtoff = 0;
16	tm->__tm_zone = __utc;
17	return t;
18}