diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-02-14 13:22:17 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-02-14 13:22:17 +0100 |
commit | 0a8fed6231c84e4e1b3a7dd6c0d95d3f98207fe0 (patch) | |
tree | b0545af3bfa25ced1890c33fe9c1facf1e749358 /src/memline.c | |
parent | f2cecb6c10909184281e31a8f968200f3841562d (diff) | |
download | vim-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.c | 88 |
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). */ |