aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/strings.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-04-03 00:41:03 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-04-04 19:10:31 -0400
commit0baf8583ef5bca01613d4b4b4344f94ab8b6c0cd (patch)
tree031840c4697b48edc36b9e6ab7f567f78d0710c5 /src/nvim/strings.c
parent052ced4954075eca360ff7689afea82252f1c599 (diff)
downloadrneovim-0baf8583ef5bca01613d4b4b4344f94ab8b6c0cd.tar.gz
rneovim-0baf8583ef5bca01613d4b4b4344f94ab8b6c0cd.tar.bz2
rneovim-0baf8583ef5bca01613d4b4b4344f94ab8b6c0cd.zip
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. https://github.com/vim/vim/commit/8327d1df1754b33d8a93b3411f30692f0042f4ce
Diffstat (limited to 'src/nvim/strings.c')
-rw-r--r--src/nvim/strings.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/nvim/strings.c b/src/nvim/strings.c
index 96a8dfd295..3ba9354c67 100644
--- a/src/nvim/strings.c
+++ b/src/nvim/strings.c
@@ -678,12 +678,12 @@ static float_T tv_float(typval_T *const tvs, int *const idxp)
// are discarded. If "str_m" is greater than zero it is guaranteed
// the resulting string will be NUL-terminated.
-// vim_vsnprintf() can be invoked with either "va_list" or a list of
+// vim_vsnprintf_typval() can be invoked with either "va_list" or a list of
// "typval_T". When the latter is not used it must be NULL.
/// Append a formatted value to the string
///
-/// @see vim_vsnprintf().
+/// @see vim_vsnprintf_typval().
int vim_snprintf_add(char *str, size_t str_m, char *fmt, ...)
FUNC_ATTR_PRINTF(3, 4)
{
@@ -697,7 +697,7 @@ int vim_snprintf_add(char *str, size_t str_m, char *fmt, ...)
}
va_list ap;
va_start(ap, fmt);
- const int str_l = vim_vsnprintf(str + len, space, fmt, ap, NULL);
+ const int str_l = vim_vsnprintf(str + len, space, fmt, ap);
va_end(ap);
return str_l;
}
@@ -715,7 +715,7 @@ int vim_snprintf(char *str, size_t str_m, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
- const int str_l = vim_vsnprintf(str, str_m, fmt, ap, NULL);
+ const int str_l = vim_vsnprintf(str, str_m, fmt, ap);
va_end(ap);
return str_l;
}
@@ -736,6 +736,10 @@ static const char *infinity_str(bool positive, char fmt_spec,
return table[idx];
}
+int vim_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap)
+{
+ return vim_vsnprintf_typval(str, str_m, fmt, ap, NULL);
+}
/// Write formatted value to the string
///
@@ -748,8 +752,8 @@ static const char *infinity_str(bool positive, char fmt_spec,
///
/// @return Number of bytes excluding NUL byte that would be written to the
/// string if str_m was greater or equal to the return value.
-int vim_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap,
- typval_T *const tvs)
+int vim_vsnprintf_typval(
+ char *str, size_t str_m, const char *fmt, va_list ap, typval_T *const tvs)
{
size_t str_l = 0;
bool str_avail = str_l < str_m;