diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 2515ca5e38a..5e0c7623e97 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,7 @@ +2011-01-29 Kai Tietz + + * intrinsics/ctime.c (ctime_r): Improve implementation. + 2011-01-27 Janne Blomqvist PR libfortran/47431 diff --git a/libgfortran/intrinsics/ctime.c b/libgfortran/intrinsics/ctime.c index 2729616bff0..b7b463c3aca 100644 --- a/libgfortran/intrinsics/ctime.c +++ b/libgfortran/intrinsics/ctime.c @@ -42,11 +42,17 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #ifndef HAVE_CTIME_R +/* Make sure we don't see here a macro. */ +#undef ctime_r + static char * ctime_r (const time_t * timep, char * buf __attribute__((unused))) { #ifdef HAVE_CTIME - return ctime (timep); + char *tmp = ctime (timep); + if (tmp) + tmp = strcpy (buf, tmp); + return tmp; #else return NULL; #endif