aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/strings.c
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2017-06-07 14:05:46 +0000
committerGitHub <noreply@github.com>2017-06-07 14:05:46 +0000
commitd3d0c9a7b11cad3f277f732dee6c782d1d911b48 (patch)
tree9440bfffd38ff3cdf98127c95764db1f84adadb7 /src/nvim/strings.c
parentcb0abce5be1dd6212425589b61826332834dc977 (diff)
parentca1ba1085a2be1f8963b48c9ccf3936359959924 (diff)
downloadrneovim-d3d0c9a7b11cad3f277f732dee6c782d1d911b48.tar.gz
rneovim-d3d0c9a7b11cad3f277f732dee6c782d1d911b48.tar.bz2
rneovim-d3d0c9a7b11cad3f277f732dee6c782d1d911b48.zip
Merge pull request #5621 from jamessan/vim-7.4.1975
vim-patch:7.4.1975,7.4.1976,7.4.1977,7.4.1978,7.4.1979,7.4.1986,7.4.2029,7.4.2224,8.0.0219,8.0.0614
Diffstat (limited to 'src/nvim/strings.c')
-rw-r--r--src/nvim/strings.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/nvim/strings.c b/src/nvim/strings.c
index c5fd8741b8..687f734742 100644
--- a/src/nvim/strings.c
+++ b/src/nvim/strings.c
@@ -653,7 +653,7 @@ static float_T tv_float(typval_T *const tvs, int *const idxp)
if (tvs[idx].v_type == VAR_FLOAT) {
f = tvs[idx].vval.v_float;
} else if (tvs[idx].v_type == VAR_NUMBER) {
- f = tvs[idx].vval.v_number;
+ f = (float_T)tvs[idx].vval.v_number;
} else {
EMSG(_("E807: Expected Float argument for printf()"));
}
@@ -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