vim-patch:8.0.0709: libvterm cannot use vsnprintf()

Problem:    Libvterm cannot use vsnprintf(), it does not exist in C90.
Solution:   Use vim_vsnprintf() instead.
8327d1df17
This commit is contained in:
Jan Edmund Lazo
2019-04-03 00:41:03 -04:00
parent 052ced4954
commit 0baf8583ef
3 changed files with 21 additions and 16 deletions

View File

@@ -11639,10 +11639,11 @@ static void dict_list(typval_T *const tv, typval_T *const rettv,
static void f_id(typval_T *argvars, typval_T *rettv, FunPtr fptr)
FUNC_ATTR_NONNULL_ALL
{
const int len = vim_vsnprintf(NULL, 0, "%p", dummy_ap, argvars);
const int len = vim_vsnprintf_typval(NULL, 0, "%p", dummy_ap, argvars);
rettv->v_type = VAR_STRING;
rettv->vval.v_string = xmalloc(len + 1);
vim_vsnprintf((char *)rettv->vval.v_string, len + 1, "%p", dummy_ap, argvars);
vim_vsnprintf_typval((char *)rettv->vval.v_string, len + 1, "%p",
dummy_ap, argvars);
}
/*
@@ -13106,11 +13107,11 @@ static void f_printf(typval_T *argvars, typval_T *rettv, FunPtr fptr)
did_emsg = false;
char buf[NUMBUFLEN];
const char *fmt = tv_get_string_buf(&argvars[0], buf);
len = vim_vsnprintf(NULL, 0, fmt, dummy_ap, argvars + 1);
len = vim_vsnprintf_typval(NULL, 0, fmt, dummy_ap, argvars + 1);
if (!did_emsg) {
char *s = xmalloc(len + 1);
rettv->vval.v_string = (char_u *)s;
(void)vim_vsnprintf(s, len + 1, fmt, dummy_ap, argvars + 1);
(void)vim_vsnprintf_typval(s, len + 1, fmt, dummy_ap, argvars + 1);
}
did_emsg |= saved_did_emsg;
}