patch 8.1.1567: localtime_r() does not respond to $TZ changes
Problem: Localtime_r() does not respond to $TZ changes.
Solution: If $TZ changes then call tzset(). (Tom Ryder)
diff --git a/src/undo.c b/src/undo.c
index dd46670..4a4a33c 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -3111,18 +3111,12 @@
u_add_time(char_u *buf, size_t buflen, time_t tt)
{
#ifdef HAVE_STRFTIME
-# ifdef HAVE_LOCALTIME_R
struct tm tmval;
-# endif
struct tm *curtime;
if (vim_time() - tt >= 100)
{
-# ifdef HAVE_LOCALTIME_R
- curtime = localtime_r(&tt, &tmval);
-# else
- curtime = localtime(&tt);
-# endif
+ curtime = vim_localtime(&tt, &tmval);
if (vim_time() - tt < (60L * 60L * 12L))
/* within 12 hours */
(void)strftime((char *)buf, buflen, "%H:%M:%S", curtime);