]> git.proxmox.com Git - wasi-libc.git/blame - libc-top-half/musl/src/time/__tm_to_secs.c
Update to musl 1.2.3.
[wasi-libc.git] / libc-top-half / musl / src / time / __tm_to_secs.c
CommitLineData
320054e8
DG
1#include "time_impl.h"
2
3long long __tm_to_secs(const struct tm *tm)
4{
5 int is_leap;
6 long long year = tm->tm_year;
7 int month = tm->tm_mon;
8 if (month >= 12 || month < 0) {
9 int adj = month / 12;
10 month %= 12;
11 if (month < 0) {
12 adj--;
13 month += 12;
14 }
15 year += adj;
16 }
17 long long t = __year_to_secs(year, &is_leap);
18 t += __month_to_secs(month, is_leap);
19 t += 86400LL * (tm->tm_mday-1);
20 t += 3600LL * tm->tm_hour;
21 t += 60LL * tm->tm_min;
22 t += tm->tm_sec;
23 return t;
24}