diff options
| author | Linus Nielsen Feltzing <linus@haxx.se> | 2006-10-19 09:42:58 +0000 |
|---|---|---|
| committer | Linus Nielsen Feltzing <linus@haxx.se> | 2006-10-19 09:42:58 +0000 |
| commit | da153da0be485aa4b937d58ee209eda7fb342053 (patch) | |
| tree | 3506b6bba4935fa252250b892d023203e54f3513 /firmware/common | |
| parent | 1645d32aa38bd61806125c8d6b1c44fa3ac0f3ca (diff) | |
| download | rockbox-da153da0be485aa4b937d58ee209eda7fb342053.zip rockbox-da153da0be485aa4b937d58ee209eda7fb342053.tar.gz rockbox-da153da0be485aa4b937d58ee209eda7fb342053.tar.bz2 rockbox-da153da0be485aa4b937d58ee209eda7fb342053.tar.xz | |
Patch #5166 by Robert Keevil - Last.fm logging
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11269 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/common')
| -rw-r--r-- | firmware/common/timefuncs.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/firmware/common/timefuncs.c b/firmware/common/timefuncs.c index fb16f0c..e48aadd 100644 --- a/firmware/common/timefuncs.c +++ b/firmware/common/timefuncs.c @@ -130,3 +130,38 @@ int set_time(const struct tm *tm) return 0; #endif } + +/* mktime() code taken from lynx-2.8.5 source, written + by Philippe De Muyter <phdm@macqel.be> */ +time_t mktime(struct tm *t) +{ + short month, year; + time_t result; + static int m_to_d[12] = + {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}; + + month = t->tm_mon; + year = t->tm_year + month / 12 + 1900; + month %= 12; + if (month < 0) + { + year -= 1; + month += 12; + } + result = (year - 1970) * 365 + (year - 1969) / 4 + m_to_d[month]; + result = (year - 1970) * 365 + m_to_d[month]; + if (month <= 1) + year -= 1; + result += (year - 1968) / 4; + result -= (year - 1900) / 100; + result += (year - 1600) / 400; + result += t->tm_mday; + result -= 1; + result *= 24; + result += t->tm_hour; + result *= 60; + result += t->tm_min; + result *= 60; + result += t->tm_sec; + return(result); +} |