diff options
author | Felipe Oliveira Carvalho <felipekde@gmail.com> | 2014-05-01 20:24:29 -0300 |
---|---|---|
committer | Felipe Oliveira Carvalho <felipekde@gmail.com> | 2014-05-06 09:22:39 -0300 |
commit | 151382d533c2bd77e26e1dfc254e186f7496e226 (patch) | |
tree | c3841dddf47c5d75cdc1a11fe5e726c2f1c6bbf2 /src/eval.c | |
parent | ee62510d4e623e5fb4a0cc7d5b450ce18c24e25f (diff) | |
download | rneovim-151382d533c2bd77e26e1dfc254e186f7496e226.tar.gz rneovim-151382d533c2bd77e26e1dfc254e186f7496e226.tar.bz2 rneovim-151382d533c2bd77e26e1dfc254e186f7496e226.zip |
Introduce os_localtime_r() and os_get_local_time()
Replace localtime() with os_localtime_r() in `eval.c` and `undo.c`.
Diffstat (limited to 'src/eval.c')
-rw-r--r-- | src/eval.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/eval.c b/src/eval.c index df11174898..fba95789ac 100644 --- a/src/eval.c +++ b/src/eval.c @@ -65,6 +65,7 @@ #include "os/job.h" #include "os/rstream.h" #include "os/rstream_defs.h" +#include "os/time.h" #if defined(FEAT_FLOAT) # include <math.h> @@ -14163,7 +14164,6 @@ static void f_str2nr(typval_T *argvars, typval_T *rettv) static void f_strftime(typval_T *argvars, typval_T *rettv) { char_u result_buf[256]; - struct tm *curtime; time_t seconds; char_u *p; @@ -14174,9 +14174,11 @@ static void f_strftime(typval_T *argvars, typval_T *rettv) seconds = time(NULL); else seconds = (time_t)get_tv_number(&argvars[1]); - curtime = localtime(&seconds); + + struct tm curtime; + struct tm *curtime_ptr = os_localtime_r(&seconds, &curtime); /* MSVC returns NULL for an invalid value of seconds. */ - if (curtime == NULL) + if (curtime_ptr == NULL) rettv->vval.v_string = vim_strsave((char_u *)_("(Invalid)")); else { vimconv_T conv; @@ -14189,7 +14191,7 @@ static void f_strftime(typval_T *argvars, typval_T *rettv) p = string_convert(&conv, p, NULL); if (p != NULL) (void)strftime((char *)result_buf, sizeof(result_buf), - (char *)p, curtime); + (char *)p, curtime_ptr); else result_buf[0] = NUL; |