aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/strings.c
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2016-11-16 14:30:20 -0500
committerJames McCoy <jamessan@jamessan.com>2017-06-04 22:12:14 -0400
commitc3efb2804a6bcf3b61695cd2b0c60bb16f1ec0a9 (patch)
treeb9ac4be6d77f1a0afc97cd92b928eff08d68ade8 /src/nvim/strings.c
parent9c01efd6fb7cc01b779ffb6d435f84e0a8e5f22d (diff)
downloadrneovim-c3efb2804a6bcf3b61695cd2b0c60bb16f1ec0a9.tar.gz
rneovim-c3efb2804a6bcf3b61695cd2b0c60bb16f1ec0a9.tar.bz2
rneovim-c3efb2804a6bcf3b61695cd2b0c60bb16f1ec0a9.zip
vim-patch:7.4.2029
Problem: printf() does not work with 64 bit numbers. Solution: use the "L" length modifier. (Ken Takata) https://github.com/vim/vim/commit/38ee6b041e73ad31c3b6b99d56d20833b59b2b57
Diffstat (limited to 'src/nvim/strings.c')
-rw-r--r--src/nvim/strings.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/nvim/strings.c b/src/nvim/strings.c
index c5fd8741b8..9b9aa6d2f4 100644
--- a/src/nvim/strings.c
+++ b/src/nvim/strings.c
@@ -910,6 +910,13 @@ int vim_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap,
default: break;
}
+ switch (fmt_spec) {
+ case 'd': case 'u': case 'o': case 'x': case 'X':
+ if (tvs && length_modifier == '\0') {
+ length_modifier = '2';
+ }
+ }
+
// get parameter value, do initial processing
switch (fmt_spec) {
// '%' and 'c' behave similar to 's' regarding flags and field widths