19 lines
304 B
C
19 lines
304 B
C
#define _GNU_SOURCE
|
|
#include "time_impl.h"
|
|
#include <errno.h>
|
|
|
|
time_t timegm(struct tm *tm)
|
|
{
|
|
struct tm new;
|
|
long long t = __tm_to_secs(tm);
|
|
if (__secs_to_tm(t, &new) < 0) {
|
|
errno = EOVERFLOW;
|
|
return -1;
|
|
}
|
|
*tm = new;
|
|
tm->tm_isdst = 0;
|
|
tm->__tm_gmtoff = 0;
|
|
tm->__tm_zone = __utc;
|
|
return t;
|
|
}
|