diff options
-rw-r--r-- | include/time.h | 4 | ||||
-rw-r--r-- | lib/libc/stdtime/asctime.c | 15 | ||||
-rw-r--r-- | lib/libc/stdtime/localtime.c | 9 |
3 files changed, 23 insertions, 5 deletions
diff --git a/include/time.h b/include/time.h index 3ef83609f672..a2a89c7932ed 100644 --- a/include/time.h +++ b/include/time.h @@ -128,8 +128,8 @@ size_t strftime __P((char *, size_t, const char *, const struct tm *)); time_t time __P((time_t *)); #ifdef _THREAD_SAFE -int asctime_r __P((const struct tm *, char *, int)); -int ctime_r __P((const time_t *, char *, int)); +char *asctime_r __P((const struct tm *, char *)); +char *ctime_r __P((const time_t *, char *)); struct tm *gmtime_r __P((const time_t *, struct tm *)); struct tm *localtime_r __P((const time_t *, struct tm *)); #endif diff --git a/lib/libc/stdtime/asctime.c b/lib/libc/stdtime/asctime.c index a1834b65a273..832f18592ff3 100644 --- a/lib/libc/stdtime/asctime.c +++ b/lib/libc/stdtime/asctime.c @@ -18,9 +18,20 @@ static char elsieid[] = "@(#)asctime.c 7.7"; ** A la X3J11, with core dump avoidance. */ + char * asctime(timeptr) -register const struct tm * timeptr; +const struct tm * timeptr; +{ + static char result[3 * 2 + 5 * INT_STRLEN_MAXIMUM(int) + + 3 + 2 + 1 + 1]; + return(asctime_r(timeptr, result)); +} + +char * +asctime_r(timeptr, result) +const struct tm * timeptr; +char *result; { static const char wday_name[][3] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" @@ -36,8 +47,6 @@ register const struct tm * timeptr; ** three explicit spaces, two explicit colons, a newline, ** and a trailing ASCII nul). */ - static char result[3 * 2 + 5 * INT_STRLEN_MAXIMUM(int) + - 3 + 2 + 1 + 1]; register const char * wn; register const char * mn; diff --git a/lib/libc/stdtime/localtime.c b/lib/libc/stdtime/localtime.c index 5de39d66fa6e..61614c75e796 100644 --- a/lib/libc/stdtime/localtime.c +++ b/lib/libc/stdtime/localtime.c @@ -1345,6 +1345,15 @@ const time_t * const timep; return asctime(localtime(timep)); } +char * +ctime_r(timep, buf) +const time_t * const timep; +char *buf; +{ + struct tm tm; + return asctime_r(localtime_r(timep, &tm), buf); +} + /* ** Adapted from code provided by Robert Elz, who writes: ** The "best" way to do mktime I think is based on an idea of Bob |