From f15aa3a552022743398a652165d76bf912c715e5 Mon Sep 17 00:00:00 2001 From: Guillaume Cottenceau Date: Mon, 14 May 2001 13:47:49 +0000 Subject: Initial revision --- mdk-stage1/dietlibc/libugly/mktime.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 mdk-stage1/dietlibc/libugly/mktime.c (limited to 'mdk-stage1/dietlibc/libugly/mktime.c') diff --git a/mdk-stage1/dietlibc/libugly/mktime.c b/mdk-stage1/dietlibc/libugly/mktime.c new file mode 100644 index 000000000..ee4dab6c1 --- /dev/null +++ b/mdk-stage1/dietlibc/libugly/mktime.c @@ -0,0 +1,21 @@ +#include + +/* seconds per day */ +#define SPD 24*60*60 + +extern unsigned int __spm[]; + +time_t mktime(struct tm *t) { + time_t x=0; + unsigned int i; + if (t->tm_year<70) return (time_t)(-1); + for (i=70; itm_year; ++i) { + x+=__isleap(i+1900)?366:365; + } + t->tm_yday=__spm[t->tm_mon] + t->tm_mday-1 + ((t->tm_mon>2) && __isleap(t->tm_year)?1:0); + x+=t->tm_yday; + /* x is now the number of days since Jan 1 1970 */ + t->tm_wday=(4+x)%7; + x = x*SPD + t->tm_hour*60*60 + t->tm_min*60 + t->tm_sec; + return x; +} -- cgit v1.2.1