mirror of
https://github.com/neovim/neovim.git
synced 2025-09-12 14:28:18 +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;
|
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
|
// get parameter value, do initial processing
|
||||||
switch (fmt_spec) {
|
switch (fmt_spec) {
|
||||||
// '%' and 'c' behave similar to 's' regarding flags and field widths
|
// '%' and 'c' behave similar to 's' regarding flags and field widths
|
||||||
|
@@ -121,6 +121,12 @@ func Test_option_value()
|
|||||||
set cpo&vim
|
set cpo&vim
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
function Test_printf_64bit()
|
||||||
|
if has('num64')
|
||||||
|
call assert_equal("123456789012345", printf('%d', 123456789012345))
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
func Test_setmatches()
|
func Test_setmatches()
|
||||||
hi def link 1 Comment
|
hi def link 1 Comment
|
||||||
hi def link 2 PreProc
|
hi def link 2 PreProc
|
||||||
|
@@ -415,7 +415,7 @@ static const int included_patches[] = {
|
|||||||
// 2032 NA
|
// 2032 NA
|
||||||
2031,
|
2031,
|
||||||
// 2030 NA
|
// 2030 NA
|
||||||
// 2029,
|
2029,
|
||||||
2028,
|
2028,
|
||||||
// 2027 NA
|
// 2027 NA
|
||||||
// 2026 NA
|
// 2026 NA
|
||||||
|
Reference in New Issue
Block a user