From d5f635529a4dfe62b5ef565135b6f506040a66b0 Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Thu, 23 Mar 2006 11:14:16 +0000 Subject: select needs sys/select.h, str[n]casecmp/ffs needs strings.h, if BSD is not defined, gettimeofday has other prototype and tm_gmtoff/tm_zone do not exist --- libc/misc/time/time.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'libc/misc/time') diff --git a/libc/misc/time/time.c b/libc/misc/time/time.c index 318069b33..93afa9b68 100644 --- a/libc/misc/time/time.c +++ b/libc/misc/time/time.c @@ -133,6 +133,7 @@ #include #include #include +#include #include #include #include @@ -748,8 +749,13 @@ struct tm attribute_hidden *__time_localtime_tzi(register const time_t *__restri _time_t2tm(x, days, result); result->tm_isdst = dst; #ifdef __UCLIBC_HAS_TM_EXTENSIONS__ +# ifdef __USE_BSD result->tm_gmtoff = - tzi[dst].gmt_offset; result->tm_zone = lookup_tzname(tzi[dst].tzname); +# else + result->__tm_gmtoff = - tzi[dst].gmt_offset; + result->__tm_zone = lookup_tzname(tzi[dst].tzname); +# endif #endif /* __UCLIBC_HAS_TM_EXTENSIONS__ */ } while ((++dst < 2) && ((result->tm_isdst = tm_isdst(result, tzi)) != 0)); @@ -1128,8 +1134,13 @@ size_t __XL_NPP(strftime)(char *__restrict s, size_t maxsize, #ifdef __UCLIBC_HAS_TM_EXTENSIONS__ #define RSP_TZUNLOCK ((void) 0) -#define RSP_TZNAME timeptr->tm_zone -#define RSP_GMT_OFFSET (-timeptr->tm_gmtoff) +# ifdef __USE_BSD +# define RSP_TZNAME timeptr->tm_zone +# define RSP_GMT_OFFSET (-timeptr->tm_gmtoff) +# else +# define RSP_TZNAME timeptr->__tm_zone +# define RSP_GMT_OFFSET (-timeptr->__tm_gmtoff) +# endif #else @@ -2206,8 +2217,13 @@ struct tm attribute_hidden *_time_t2tm(const time_t *__restrict timer, /* TODO -- should this be 0? */ p[4] = 0; /* result[8] .. tm_isdst */ #ifdef __UCLIBC_HAS_TM_EXTENSIONS__ +# ifdef __USE_BSD result->tm_gmtoff = 0; result->tm_zone = utc_string; +# else + result->__tm_gmtoff = 0; + result->__tm_zone = utc_string; +# endif #endif /* __UCLIBC_HAS_TM_EXTENSIONS__ */ return result; -- cgit v1.2.3