diff options
author | James McCoy <jamessan@jamessan.com> | 2017-06-07 14:05:46 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-07 14:05:46 +0000 |
commit | d3d0c9a7b11cad3f277f732dee6c782d1d911b48 (patch) | |
tree | 9440bfffd38ff3cdf98127c95764db1f84adadb7 /src/nvim/strings.c | |
parent | cb0abce5be1dd6212425589b61826332834dc977 (diff) | |
parent | ca1ba1085a2be1f8963b48c9ccf3936359959924 (diff) | |
download | rneovim-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.c | 9 |
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 |