mirror of
https://github.com/neovim/neovim.git
synced 2025-09-12 06:18:16 +00:00
vim-patch:7.4.2029
Problem: printf() does not work with 64 bit numbers.
Solution: use the "L" length modifier. (Ken Takata)
38ee6b041e
This commit is contained in:
@@ -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
|
||||
|
@@ -121,6 +121,12 @@ func Test_option_value()
|
||||
set cpo&vim
|
||||
endfunc
|
||||
|
||||
function Test_printf_64bit()
|
||||
if has('num64')
|
||||
call assert_equal("123456789012345", printf('%d', 123456789012345))
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func Test_setmatches()
|
||||
hi def link 1 Comment
|
||||
hi def link 2 PreProc
|
||||
|
@@ -415,7 +415,7 @@ static const int included_patches[] = {
|
||||
// 2032 NA
|
||||
2031,
|
||||
// 2030 NA
|
||||
// 2029,
|
||||
2029,
|
||||
2028,
|
||||
// 2027 NA
|
||||
// 2026 NA
|
||||
|
Reference in New Issue
Block a user