From e1b1b7926975c3cd4313be0019212b1cf68fa529 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 6 Mar 2018 18:11:47 +0100 Subject: use gmtime_r() instead of gmtime() This avoids pulling in gmtime's static buffer: function old new delta svlogd_main 1401 1412 +11 send_headers 668 678 +10 gmtime 21 - -21 ------------------------------------------------------------------------------ (add/remove: 0/2 grow/shrink: 2/0 up/down: 21/-21) Total: 0 bytes text data bss dec hex filename 920221 555 5804 926580 e2374 busybox_old 920221 555 5740 926516 e2334 busybox_unstripped ^^^^ Signed-off-by: Denys Vlasenko --- runit/svlogd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'runit') diff --git a/runit/svlogd.c b/runit/svlogd.c index 412290ca9..13de2570f 100644 --- a/runit/svlogd.c +++ b/runit/svlogd.c @@ -347,11 +347,13 @@ static unsigned pmatch(const char *p, const char *s, unsigned len) /* NUL terminated */ static void fmt_time_human_30nul(char *s, char dt_delim) { + struct tm tm; struct tm *ptm; struct timeval tv; gettimeofday(&tv, NULL); - ptm = gmtime(&tv.tv_sec); + ptm = gmtime_r(&tv.tv_sec, &tm); + /* ^^^ using gmtime_r() instead of gmtime() to not use static data */ sprintf(s, "%04u-%02u-%02u%c%02u:%02u:%02u.%06u000", (unsigned)(1900 + ptm->tm_year), (unsigned)(ptm->tm_mon + 1), -- cgit v1.2.3