diff options
author | Frank Gevaerts <frank@gevaerts.be> | 2009-08-11 19:30:19 +0000 |
---|---|---|
committer | Frank Gevaerts <frank@gevaerts.be> | 2009-08-11 19:30:19 +0000 |
commit | 2dc50471ca17eaeb24b45abce4c0f8944cd781d5 (patch) | |
tree | 3e704d88f999b8ab071f6ca7753c06e692486cbf /firmware/common/timefuncs.c | |
parent | eadfa483d1b014e39953669d79fb997d8cd1085d (diff) | |
download | rockbox-2dc50471ca17eaeb24b45abce4c0f8944cd781d5.tar.gz rockbox-2dc50471ca17eaeb24b45abce4c0f8944cd781d5.zip |
Consolidate day of week calculation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22258 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/common/timefuncs.c')
-rw-r--r-- | firmware/common/timefuncs.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/firmware/common/timefuncs.c b/firmware/common/timefuncs.c index e59534eeba..774fba9ab0 100644 --- a/firmware/common/timefuncs.c +++ b/firmware/common/timefuncs.c | |||
@@ -194,12 +194,15 @@ time_t mktime(struct tm *t) | |||
194 | } | 194 | } |
195 | #endif | 195 | #endif |
196 | 196 | ||
197 | int day_of_week(int m, int d, int y) | 197 | void set_day_of_week(struct tm *tm) |
198 | { | 198 | { |
199 | int y=tm->tm_year+1900; | ||
200 | int d=tm->tm_mday; | ||
201 | int m=tm->tm_mon; | ||
199 | static const char mo[] = { 0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4 }; | 202 | static const char mo[] = { 0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4 }; |
200 | 203 | ||
201 | if(m == 0 || m == 1) y--; | 204 | if(m == 0 || m == 1) y--; |
202 | return (d + mo[m] + y + y/4 - y/100 + y/400) % 7; | 205 | tm->tm_wday = (d + mo[m] + y + y/4 - y/100 + y/400) % 7; |
203 | } | 206 | } |
204 | 207 | ||
205 | void yearday_to_daymonth(int yd, int y, int *d, int *m) | 208 | void yearday_to_daymonth(int yd, int y, int *d, int *m) |