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);