Daniel Hahler
0d9a3c86a1
vim-patch:8.1.2083: multi-byte chars do not work properly with "%.*S" in printf() ( #11106 )
...
Problem: Multi-byte chars do not work properly with "%.*S" in printf().
Solution: Use mb_ptr2cells(). Daniel Hahler, closes vim/vim#4989 )
ce0fac2897
2019-09-28 00:32:22 +02:00
Jan Edmund Lazo
0baf8583ef
vim-patch:8.0.0709: libvterm cannot use vsnprintf()
...
Problem: Libvterm cannot use vsnprintf(), it does not exist in C90.
Solution: Use vim_vsnprintf() instead.
8327d1df17
2019-04-04 19:10:31 -04:00
Justin M. Keyes
226352afcb
build: Fix -Wconversion warnings for fpclassify et al
...
closes #8274
The parent commit tries a different approach, but that fails on Apple
Clang version:
Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-apple-darwin17.7.0
which somehow compiles the check_c_source_compiles() check, but then
complains during later compilation that __fpclassify is not defined
(regardless of "#include <math.h>").
2019-01-21 00:32:34 +01:00
Justin M. Keyes
c6a039d087
build: Fix -Wconversion warnings for fpclassify et al
...
closes #8274
- Instead of #undef and re-#define, define "xfoo" wrappers to avoid
include-order sensitivity.
- The warnings are bogus, caused by bad interaction between glibc and
clang 6+.
- https://bugs.llvm.org/show_bug.cgi?id=35268
- https://bugs.llvm.org/show_bug.cgi?id=39738
- https://bugzilla.redhat.com/show_bug.cgi?id=1472437
2019-01-20 23:51:12 +01:00
Björn Linse
357e59982d
strings: make vim_snprintf handle %d correctly again
...
This was broken in #9369 (4680ca2
)
2018-12-24 10:58:48 +01:00
Jan Edmund Lazo
4680ca29f1
strings: use (u)int16_t for %h printf format
2018-12-16 14:52:14 -05:00
MichaHoffmann
affef0aab8
add func_attr_printf in :
...
log.c
message.c
strings.c
fixed some printf warnings in:
src/nvim/undo.c
src/nvim/eval.c
src/nvim/eval/encode.c
src/nvim/eval/typval.c
src/nvim/ex_getln.c
src/nvim/fileio.c
src/nvim/lua/executor.c
src/nvim/main.c
src/nvim/regexp_nfa.c
src/nvim/shada.c
src/nvim/spellfile.c
src/nvim/tui/terminfo.c
src/nvim/garray.h
2018-09-24 21:28:04 +02:00
Jan Edmund Lazo
16b55d2e9d
vim-patch:8.0.1468: illegal memory access in del_bytes()
...
Problem: Illegal memory access in del_bytes().
Solution: Check for negative byte count. (Christian Brabandt, closes vim/vim#2466 )
191f18bad0
2018-08-24 23:02:51 -04:00
Justin M. Keyes
1211fa09cf
Merge #8833 from janlazo/vim-8.0.1004
2018-08-12 14:11:47 +02:00
ZviRackover
22311457ab
refactor: Replace vim_strrchr() with strrchar() ( #8718 )
...
ref #1474
2018-08-11 16:14:10 +02:00
Jan Edmund Lazo
4420dc3067
vim-patch:8.0.1421: accessing invalid memory with overlong byte sequence
...
Problem: Accessing invalid memory with overlong byte sequence.
Solution: Check for NUL character. (test by Dominique Pelle, closes vim/vim#2485 )
e6640ad44e
2018-08-09 00:55:20 -04:00
Jan Edmund Lazo
3c7ea8d619
vim-patch:8.0.0451: some macros are in lower case
...
Problem: Some macros are in lower case.
Solution: Make a few more macros upper case. Avoid lower case macros use an
argument twice.
91acfffc1e
2018-06-12 02:00:50 -04:00
Justin M. Keyes
8e20b77bd1
strings.c: Fix PVS/V781: value of 'l + 1' is checked after it was used
2018-05-20 08:36:40 +02:00
ZyX
0eaecbaf47
strings: Fix PVS/V547: condition already checked by surrounding if
2018-04-22 20:05:32 +03:00
ZyX
b9b17a58da
strings: Fix PVS/V779: wrong assert() position
2018-04-22 20:03:48 +03:00
George Zhao
82adba0f2f
Fix for lint
2018-01-19 13:01:30 +08:00
George Zhao
43833af53c
Fix warning about math functions, include isnan, isinf, fpclassify.
2018-01-18 21:43:44 +08:00
James McCoy
601bf9642f
strings/tv_float: Explicitly cast v_number to float_T for -Wconversion
2017-06-06 21:38:27 -04:00
James McCoy
c3efb2804a
vim-patch:7.4.2029
...
Problem: printf() does not work with 64 bit numbers.
Solution: use the "L" length modifier. (Ken Takata)
38ee6b041e
2017-06-04 22:12:14 -04:00
ZyX
823b35e341
strings: Return NUL from vim_strchr for invalid input
2017-05-09 14:41:24 +03:00
Justin M. Keyes
a9605bb4af
Merge #6460 from ZyX-I/1476-changes
...
Refactor functions which find character in a string
2017-05-08 13:45:14 +02:00
ZyX
c2f3e361c5
*: Add comment to all C files
2017-04-19 19:11:50 +03:00
Justin M. Keyes
f7611d74e7
win: vim_strsave_shellescape: Handle 'shellslash'.
...
From Vim, misc2.c:vim_strsave_shellescape
2017-04-12 02:10:33 +02:00
ZyX
22fb9d8d25
Merge branch 'master' into 1476-changes
2017-04-10 19:12:56 +03:00
Björn Linse
4c857dae11
vim-patch:8.0.0243
...
Problem: When making a character lower case with tolower() changes the byte
cound, it is not made lower case.
Solution: Add strlow_save(). (Dominique Pelle, closes vim/vim#1406 )
cc5b22b3bf
Join almost identical strup_save and strlow_save functions to one
Function.
2017-04-10 12:02:26 +02:00
Björn Linse
db9ef6263e
mbyte: replace vim_tolower with mb_tolower handling locale correctly
2017-04-10 12:01:40 +02:00
ZyX
171baaee93
strings: Remove vim_strbyte
...
Ref #1476
2017-04-07 23:15:53 +03:00
ZyX
19044a15f9
strings: Replace vim_strchr implementation with a saner one
...
Removes dead code (enc_utf8, enc_dbcs and has_mbyte now have hardcoded values),
relies on libc implementation being more optimized. Also where previously
negative character just would never be found it is an assertion error now.
Ref #1476
2017-04-07 23:15:08 +03:00
ZyX
c8e63a8db8
eval: Move remaining get_tv_string* functions to eval/typval.c
2017-03-29 10:08:05 +03:00
ZyX
233b0c93bb
eval: Move get_tv_number[_chk] to eval/typval.c
2017-03-29 10:08:05 +03:00
ZyX
28dafe3ff0
eval,*: Move get_tv_string to typval.c
...
Function was renamed and changed to return `const char *`.
2017-03-29 10:08:05 +03:00
ZyX
fb146e80aa
eval: Split eval.c into smaller files
2017-03-29 10:05:06 +03:00
John Szakmeister
56e400d800
vim_vsnprintf: fix conversion warning #6333
...
Re-apply fix from #6311 which was accidentally regressed in #6231 .
2017-03-22 03:21:32 +01:00
Jurica Bradaric
3e33025133
strings: Fix problems found during code review
2017-03-21 22:56:05 +01:00
Jurica Bradaric
cad9a76be2
vim-patch:7.4.2291
...
Problem: printf() handles floats wrong when there is a sign.
Solution: Fix placing the sign. Add tests. (Dominique Pelle)
0418609534
2017-03-20 22:47:09 +01:00
Jurica Bradaric
6ca580be9b
vim-patch:7.4.2280
...
Problem: printf() doesn't handle infinity float values correctly.
Solution: Add a table with possible infinity values. (Dominique Pelle)
e999782e36
2017-03-20 22:45:26 +01:00
Jurica Bradaric
b4cb5fa610
vim-patch:7.4.2266
...
Problem: printf() test fails on Windows. "-inf" is not used.
Solution: Check for Windows-specific values for "nan". Add sign to "inf"
when appropriate.
9992237a3e
2017-03-20 21:40:41 +01:00
John Szakmeister
c6b3975774
vim_vsnprintf: fix conversion error #6311
...
This looks mostly like a case where the compiler that ships with Ubuntu
12.04 has gone a little too far: `fmt_spec` is actually a char, as are
the literals, so there's really no issue.
2017-03-18 03:45:54 +01:00
Jack Bracewell
1de50acc41
vim-patch:7.4.2292 ( #6304 )
...
Problem: Not all systems understand %F in printf().
Solution: Use %f.
965ed14973
2017-03-17 18:30:18 +01:00
Jurica Bradaric
04b91d6b89
strings.c: Fix problems found during code review.
2017-03-06 21:35:48 +01:00
Jurica Bradaric
2f80360e9a
vim-patch:7.4.2220
...
Problem: printf() gives an error when the argument for %s is not a string.
(Ozaki Kiichi)
Solution: Behave like invoking string() on the argument. (Ken Takata)
e5a8f35b42
2017-03-06 21:35:48 +01:00
Jente Hidskes
1a81ec6d88
strings.c: remove unused assignment
...
As reported by clang-scan, `length_modifier` is never read in any code path
following this branch. It is safe to remove.
2017-02-20 20:06:38 +01:00
James McCoy
a667972568
string.c: Include <stdarg.h> for va_list type and va_* macros
...
Closes #6141
2017-02-19 18:40:33 -05:00
Justin M. Keyes
c1bc784ad8
Merge #6110 'refactor: Move vim_*printf to strings.c'.
2017-02-17 16:25:19 +01:00
ZyX
ee16f78fa9
strings: Fix “unexpected format specifier: %lp” ASAN error
2017-02-15 00:45:04 +03:00
ZyX
a429235b6d
message,strings: Move vim_*printf functions to strings.c
...
Allows eval/typval.h to #include message.h.
2017-02-14 00:53:03 +03:00
Justin M. Keyes
59fd0c4132
refactor: Remove strncpy/STRNCPY. ( #6008 )
...
Closes #731
References #851
Note: This does not remove some intentional legacy usages of strncpy.
- memcpy isn't equivalent because it doesn't check the string
length of `src`, and doesn't zero-out the remainder of `dst`.
- xstrlcpy isn't equivalent because it doesn't zero-out the
remainder of `dst`. Some Vim logic depends on that (e.g.
ex_append which calls vim_strnsave).
Helped-by: Douglas Schneider <ds3@ualberta.ca >
Helped-by: oni-link <knil.ino@gmail.com >
Helped-by: James McCoy <jamessan@jamessan.com >
2017-01-26 14:33:03 +01:00
Justin M. Keyes
7e799b6e91
refactor: Replace vim_strcat() with xstrlcat().
2017-01-23 15:49:37 +01:00
Justin M. Keyes
df072c3b2b
refactor: eliminate misc2.c
...
move `call_shell` to misc1.c
Move some fns to state.c
Move some fns to option.c
Move some fns to memline.c
Move `vim_chdir*` fns to file_search.c
Move some fns to new module, bytes.c
Move some fns to fileio.c
2016-09-13 16:20:09 +02:00
Jurica Bradaric
4d0c511354
strings: Change order of operands in condition.
...
utf_ptr2char only needs to be called for l > 1.
2016-01-24 09:16:34 +01:00