#include "time_impl.h"
#include <errno.h>
#include "libc.h"

extern const char __gmt[];

struct tm *__gmtime_r(const time_t *restrict t, struct tm *restrict tm)
{
	if (__secs_to_tm(*t, tm) < 0) {
		errno = EOVERFLOW;
		return 0;
	}
	tm->tm_isdst = 0;
	tm->__tm_gmtoff = 0;
	tm->__tm_zone = __gmt;
	return tm;
}

weak_alias(__gmtime_r, gmtime_r);
