diff --git a/libc/bionic/time64_config.h b/libc/bionic/time64_config.h index 53bcecf6b..13850451c 100644 --- a/libc/bionic/time64_config.h +++ b/libc/bionic/time64_config.h @@ -33,7 +33,7 @@ */ #define HAS_GMTIME_R #define HAS_LOCALTIME_R -/*#define HAS_TIMEGM */ +#define HAS_TIMEGM /* Details of non-standard tm struct elements. diff --git a/libc/docs/CHANGES.TXT b/libc/docs/CHANGES.TXT index bc641f46b..67b9e76da 100644 --- a/libc/docs/CHANGES.TXT +++ b/libc/docs/CHANGES.TXT @@ -9,6 +9,8 @@ Differences between current and Android 2.3: - <sys/cdefs.h>: Include <android/api-level.h> +- <time.h>: Add timegm(), timelocal(), time2posix() and posix2time() + ------------------------------------------------------------------------------- Differences between Android 2.3 and Android 2.2: diff --git a/libc/include/time.h b/libc/include/time.h index 5d1a0e268..4ad4f7bd7 100644 --- a/libc/include/time.h +++ b/libc/include/time.h @@ -128,6 +128,11 @@ extern int timer_settime(timer_t timerid, int flags, const struct itimerspec *v extern int timer_gettime(timer_t timerid, struct itimerspec *value); extern int timer_getoverrun(timer_t timerid); +extern time_t timelocal(struct tm *tm); +extern time_t timegm(struct tm* tm); +extern time_t time2posix(time_t ti); +extern time_t posix2time(time_t ti); + __END_DECLS #endif /* _TIME_H_ */ diff --git a/libc/tzcode/localtime.c b/libc/tzcode/localtime.c index 85a913ea6..e442a03a5 100644 --- a/libc/tzcode/localtime.c +++ b/libc/tzcode/localtime.c @@ -60,6 +60,14 @@ static char elsieid[] = "@(#)localtime.c 8.3"; # define XLOG(x) do{}while (0) #endif +/* Add the following function implementations: + * timelocal() + * timegm() + * time2posix() + * posix2time() + */ +#define STD_INSPIRED 1 + /* THREAD-SAFETY SUPPORT GOES HERE */ static pthread_mutex_t _tzMutex = PTHREAD_MUTEX_INITIALIZER; @@ -1509,7 +1517,7 @@ struct tm * tmp; } #ifdef STD_INSPIRED - +#if 0 /* disabled because there is no good documentation for this function */ struct tm * offtime(timep, offset) const time_t * const timep; @@ -1517,7 +1525,7 @@ const long offset; { return gmtsub(timep, offset, &tmGlobal); } - +#endif /* 0 */ #endif /* defined STD_INSPIRED */ /* @@ -2106,6 +2114,7 @@ struct tm * const tmp; return result; } +#if 0 /* disable due to lack of clear documentation on this function */ time_t timeoff(tmp, offset) struct tm * const tmp; @@ -2120,6 +2129,7 @@ const long offset; return result; } +#endif /* 0 */ #endif /* defined STD_INSPIRED */