blob: b36c1d825f077f2f53c427b6f683fb03f475b936 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#include "time_impl.h"
#include <errno.h>
#include "libc.h"
struct tm *__localtime_r(const time_t *restrict t, struct tm *restrict tm)
{
__secs_to_zone(*t, 0, &tm->tm_isdst, &tm->__tm_gmtoff, 0, &tm->__tm_zone);
if (__secs_to_tm((long long)*t - tm->__tm_gmtoff, tm) < 0) {
errno = EINVAL;
return 0;
}
return tm;
}
weak_alias(__localtime_r, localtime_r);
|