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;
|
||
|
}
|