diff options
Diffstat (limited to 'mdk-stage1/dietlibc/libugly/localtime_r.c')
-rw-r--r-- | mdk-stage1/dietlibc/libugly/localtime_r.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/libugly/localtime_r.c b/mdk-stage1/dietlibc/libugly/localtime_r.c new file mode 100644 index 000000000..d4bc073ce --- /dev/null +++ b/mdk-stage1/dietlibc/libugly/localtime_r.c @@ -0,0 +1,21 @@ +#include "dietfeatures.h" +#include <time.h> +#include <sys/time.h> + +#ifdef WANT_TZFILE_PARSER +extern void __maplocaltime(); +extern time_t __tzfile_map(time_t t, int *isdst); +#endif + +struct tm* localtime_r(const time_t* t, struct tm* r) { + time_t tmp; +#ifdef WANT_TZFILE_PARSER + __maplocaltime(); + tmp=__tzfile_map(*t,&r->tm_isdst); +#else + struct timezone tz; + gettimeofday(0, &tz); + tmp=*t-tz.tz_minuteswest*60L; +#endif + return gmtime_r(&tmp,r); +} |