https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c101e8b1860b24eba152d92b5551b3d231113508 commit c101e8b1860b24eba152d92b5551b3d231113508 Author: Zack Weinberg Date: Fri Aug 16 21:10:11 2019 -0400 Don’t use the argument to time. Unlike gettimeofday, I don’t think it makes sense to remove all the internal uses of time. Its callers don’t care about sub-second resolution and would be unnecessarily complicated if they had to declare a struct timespec instead of just a time_t. However, a handful of places were using the vestigial ‘result’ argument instead of the return value, which is ever so slightly less efficient and also looks weird. Correct this. * misc/syslog.c (__vsyslog_internal) * string/strfry.c (strfry) * time/getdate.c (__getdate_r) * time/tst_wcsftime.c (main): Use return value of time, not its argument. * sysdeps/mach/sleep.c (__sleep): Remove unnecessary casts of NULL. Diff: --- misc/syslog.c | 2 +- string/strfry.c | 2 +- sysdeps/mach/sleep.c | 4 ++-- time/getdate.c | 2 +- time/tst_wcsftime.c | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/misc/syslog.c b/misc/syslog.c index 3a15da4..cf2deef 100644 --- a/misc/syslog.c +++ b/misc/syslog.c @@ -205,7 +205,7 @@ __vsyslog_internal(int pri, const char *fmt, va_list ap, { __fsetlocking (f, FSETLOCKING_BYCALLER); fprintf (f, "<%d>", pri); - (void) time (&now); + now = time (NULL); f->_IO_write_ptr += __strftime_l (f->_IO_write_ptr, f->_IO_write_end - f->_IO_write_ptr, diff --git a/string/strfry.c b/string/strfry.c index af6087b..71686d4 100644 --- a/string/strfry.c +++ b/string/strfry.c @@ -30,7 +30,7 @@ strfry (char *string) { static char state[32]; rdata.state = NULL; - __initstate_r (time ((time_t *) NULL) ^ getpid (), + __initstate_r (time (NULL) ^ getpid (), state, sizeof (state), &rdata); init = 1; } diff --git a/sysdeps/mach/sleep.c b/sysdeps/mach/sleep.c index 11e1bb8..c63ef92 100644 --- a/sysdeps/mach/sleep.c +++ b/sysdeps/mach/sleep.c @@ -33,10 +33,10 @@ __sleep (unsigned int seconds) recv = __mach_reply_port (); - before = time ((time_t *) NULL); + before = time (NULL); (void) __mach_msg (NULL, MACH_RCV_MSG|MACH_RCV_TIMEOUT|MACH_RCV_INTERRUPT, 0, 0, recv, seconds * 1000, MACH_PORT_NULL); - after = time ((time_t *) NULL); + after = time (NULL); __mach_port_destroy (__mach_task_self (), recv); return seconds - (after - before); diff --git a/time/getdate.c b/time/getdate.c index aee96f7..8a567c3 100644 --- a/time/getdate.c +++ b/time/getdate.c @@ -219,7 +219,7 @@ __getdate_r (const char *string, struct tm *tp) return 7; /* Get current time. */ - time (&timer); + timer = time (NULL); __localtime_r (&timer, &tm); /* If only the weekday is given, today is assumed if the given day diff --git a/time/tst_wcsftime.c b/time/tst_wcsftime.c index 3f6f0d9..55c45f6 100644 --- a/time/tst_wcsftime.c +++ b/time/tst_wcsftime.c @@ -10,7 +10,7 @@ main (int argc, char *argv[]) int result = 0; size_t n; - time (&t); + t = time (NULL); tp = gmtime (&t); n = wcsftime (buf, sizeof (buf) / sizeof (buf[0]),