From 2f40657ab3259f70c27d88786cdd0453fc845859 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sat, 27 Nov 2010 19:52:11 +0100 Subject: s3: Use localtime_r, libreplace defines it Autobuild-User: Volker Lendecke Autobuild-Date: Sat Nov 27 20:50:27 CET 2010 on sn-devel-104 --- source3/utils/net_cache.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'source3/utils') diff --git a/source3/utils/net_cache.c b/source3/utils/net_cache.c index fef269d77d..4339094489 100644 --- a/source3/utils/net_cache.c +++ b/source3/utils/net_cache.c @@ -39,24 +39,22 @@ static void print_cache_entry(const char* keystr, const char* datastr, char *timeout_str; char *alloc_str = NULL; time_t now_t = time(NULL); - struct tm timeout_tm, *now_tm; - /* localtime returns statically allocated pointer, so timeout_tm - has to be copied somewhere else */ + struct tm timeout_tm, now_tm; + struct tm *ptimeout_tm, *pnow_tm; - now_tm = localtime(&timeout); - if (!now_tm) { + ptimeout_tm = localtime_r(&timeout, &timeout_tm); + if (ptimeout_tm == NULL) { return; } - memcpy(&timeout_tm, now_tm, sizeof(struct tm)); - now_tm = localtime(&now_t); - if (!now_tm) { + pnow_tm = localtime_r(&now_t, &now_tm); + if (pnow_tm == NULL) { return; } /* form up timeout string depending whether it's today's date or not */ - if (timeout_tm.tm_year != now_tm->tm_year || - timeout_tm.tm_mon != now_tm->tm_mon || - timeout_tm.tm_mday != now_tm->tm_mday) { + if (timeout_tm.tm_year != now_tm.tm_year || + timeout_tm.tm_mon != now_tm.tm_mon || + timeout_tm.tm_mday != now_tm.tm_mday) { timeout_str = asctime(&timeout_tm); if (!timeout_str) { -- cgit