diff options
author | Moshe Piekarski <dev.rockbox@melachim.net> | 2021-05-05 12:52:19 -0400 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2021-05-12 10:52:03 +0000 |
commit | b895fb66437655888386db82aa6434b0f5bfc0d6 (patch) | |
tree | 5a59015999db8a94740940a76b50a4dea0f2e556 /firmware/common | |
parent | 3f26fcf34001197ed267fa1ad549095aae49c88e (diff) | |
download | rockbox-b895fb66437655888386db82aa6434b0f5bfc0d6.tar.gz rockbox-b895fb66437655888386db82aa6434b0f5bfc0d6.zip |
Add tm->yday to RTC ports missing it
Change-Id: I86882262bafb8d06f925aabb87ebd1b5dcb0cd53
Diffstat (limited to 'firmware/common')
-rw-r--r-- | firmware/common/timefuncs.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/firmware/common/timefuncs.c b/firmware/common/timefuncs.c index 50addad27a..108431753a 100644 --- a/firmware/common/timefuncs.c +++ b/firmware/common/timefuncs.c @@ -135,5 +135,21 @@ void set_day_of_week(struct tm *tm) if(m == 0 || m == 1) y--; tm->tm_wday = (d + mo[m] + y + y/4 - y/100 + y/400) % 7; } + +void set_day_of_year(struct tm *tm) +{ + int y=tm->tm_year+1900; + int d=tm->tm_mday; + int m=tm->tm_mon; + d+=m*30; + if( ( (m>1) && !(y%4) ) && ( (y%100) || !(y%400) ) ) + d++; + if(m>6) + { + d+=4; + m-=7; + } + tm->tm_yday = d + ((m+1) /2); +} #endif /* CONFIG_RTC */ |