handle errors from localtime_r in ctime_r

POSIX requires ctime_r return a null pointer on failure, which can
occur if the input time_t value is not representable in broken down
form.

based on patch by Alexander Monakov.
This commit is contained in:
Rich Felker 2017-06-20 20:31:35 -04:00
parent 2d7d05f031
commit 64f855874c

View File

@ -2,7 +2,6 @@
char *ctime_r(const time_t *t, char *buf)
{
struct tm tm;
localtime_r(t, &tm);
return asctime_r(&tm, buf);
struct tm tm, *tm_p = localtime_r(t, &tm);
return tm_p ? asctime_r(tm_p, buf) : 0;
}