summaryrefslogtreecommitdiff
path: root/src/memline.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-02-14 13:22:17 +0100
committerBram Moolenaar <Bram@vim.org>2020-02-14 13:22:17 +0100
commit0a8fed6231c84e4e1b3a7dd6c0d95d3f98207fe0 (patch)
treeb0545af3bfa25ced1890c33fe9c1facf1e749358 /src/memline.c
parentf2cecb6c10909184281e31a8f968200f3841562d (diff)
downloadvim-git-0a8fed6231c84e4e1b3a7dd6c0d95d3f98207fe0.tar.gz
patch 8.2.0256: time and timer related code is spread outv8.2.0256
Problem: Time and timer related code is spread out. Solution: Move time and timer related code to a new file. (Yegappan Lakshmanan, closes #5604)
Diffstat (limited to 'src/memline.c')
-rw-r--r--src/memline.c88
1 files changed, 0 insertions, 88 deletions
diff --git a/src/memline.c b/src/memline.c
index c6db9136f..b409eb555 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -2081,94 +2081,6 @@ get_b0_dict(char_u *fname, dict_T *d)
#endif
/*
- * Cache of the current timezone name as retrieved from TZ, or an empty string
- * where unset, up to 64 octets long including trailing null byte.
- */
-#if defined(HAVE_LOCALTIME_R) && defined(HAVE_TZSET)
-static char tz_cache[64];
-#endif
-
-/*
- * Call either localtime(3) or localtime_r(3) from POSIX libc time.h, with the
- * latter version preferred for reentrancy.
- *
- * If we use localtime_r(3) and we have tzset(3) available, check to see if the
- * environment variable TZ has changed since the last run, and call tzset(3) to
- * update the global timezone variables if it has. This is because the POSIX
- * standard doesn't require localtime_r(3) implementations to do that as it
- * does with localtime(3), and we don't want to call tzset(3) every time.
- */
- struct tm *
-vim_localtime(
- const time_t *timep, // timestamp for local representation
- struct tm *result UNUSED) // pointer to caller return buffer
-{
-#ifdef HAVE_LOCALTIME_R
-# ifdef HAVE_TZSET
- char *tz; // pointer for TZ environment var
-
- tz = (char *)mch_getenv((char_u *)"TZ");
- if (tz == NULL)
- tz = "";
- if (STRNCMP(tz_cache, tz, sizeof(tz_cache) - 1) != 0)
- {
- tzset();
- vim_strncpy((char_u *)tz_cache, (char_u *)tz, sizeof(tz_cache) - 1);
- }
-# endif // HAVE_TZSET
- return localtime_r(timep, result);
-#else
- return localtime(timep);
-#endif // HAVE_LOCALTIME_R
-}
-
-/*
- * Replacement for ctime(), which is not safe to use.
- * Requires strftime(), otherwise returns "(unknown)".
- * If "thetime" is invalid returns "(invalid)". Never returns NULL.
- * When "add_newline" is TRUE add a newline like ctime() does.
- * Uses a static buffer.
- */
- char *
-get_ctime(time_t thetime, int add_newline)
-{
- static char buf[50];
-#ifdef HAVE_STRFTIME
- struct tm tmval;
- struct tm *curtime;
-
- curtime = vim_localtime(&thetime, &tmval);
- // MSVC returns NULL for an invalid value of seconds.
- if (curtime == NULL)
- vim_strncpy((char_u *)buf, (char_u *)_("(Invalid)"), sizeof(buf) - 1);
- else
- {
- (void)strftime(buf, sizeof(buf) - 1, _("%a %b %d %H:%M:%S %Y"),
- curtime);
-# ifdef MSWIN
- if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
- {
- char_u *to_free = NULL;
- int len;
-
- acp_to_enc((char_u *)buf, (int)strlen(buf), &to_free, &len);
- if (to_free != NULL)
- {
- STRCPY(buf, to_free);
- vim_free(to_free);
- }
- }
-# endif
- }
-#else
- STRCPY(buf, "(unknown)");
-#endif
- if (add_newline)
- STRCAT(buf, "\n");
- return buf;
-}
-
-/*
* Give information about an existing swap file.
* Returns timestamp (0 when unknown).
*/