
Jan. 8, 2025
12:19 a.m.
* asctime.c (ctime): Call localtime and asctime, not localtime_r and ctime_r. --- asctime.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/asctime.c b/asctime.c index 3817182e..1bfcafe9 100644 --- a/asctime.c +++ b/asctime.c @@ -162,5 +162,8 @@ ctime_r(const time_t *timep, char *buf) char * ctime(const time_t *timep) { - return ctime_r(timep, buf_ctime); + /* Do not call localtime_r, as C23 requires ctime to initialize the + static storage that localtime updates. */ + struct tm *tmp = localtime(timep); + return tmp ? asctime(tmp) : NULL; } -- 2.47.1