ZyX
69ce17878e
*: Fix linter errors
2016-04-18 02:48:20 +03:00
ZyX
9a56fcb2e8
eval/decode: Rewrite json_decode_string end as suggested by oni-link
2016-04-18 02:48:20 +03:00
ZyX
9c543f2e24
eval/decode: Reject more numbers, accept 1e5
2016-04-18 02:48:20 +03:00
ZyX
032ac502ff
eval/decode: Do not loose high surrogates followed by high surrogates
2016-04-18 02:48:20 +03:00
ZyX
eb806c9620
eval/decode: Make sure that error messages do not cause overflow
2016-04-18 02:48:20 +03:00
ZyX
52c6cc2189
eval/decode: Make sure that parsing strings does not overflow
2016-04-18 02:48:20 +03:00
ZyX
224d7df630
eval/decode: Make sure that blank input does not crash Neovim
2016-04-18 02:48:20 +03:00
ZyX
394830631f
eval/decode: Make sure that U+00C3 is parsed correctly
2016-04-18 02:48:20 +03:00
ZyX
4eb5d05f01
eval/decode: Avoid overflow when parsing incomplete null/true/false
...
Note: second test does not crash or produce asan errors, even though it should.
2016-04-18 02:48:20 +03:00
ZyX
4a29995fe7
eval/decode: Rename brackets in error messages
...
U+007D is officially RIGHT CURLY BRACKET.
U+005D is officially RIGHT SQUARE BRACKET.
2016-04-18 02:48:20 +03:00
ZyX
1fc84ae2cd
eval/decode: Record that obj
may be freed
2016-04-18 02:48:20 +03:00
ZyX
4ff5d6e41c
eval/decode: Also use VAR_UNLOCKED in old code
2016-04-18 02:48:20 +03:00
ZyX
942e0b338c
encode: Handle incomplete surrogates like \uSURR\uOTHR
properly
2016-04-18 02:48:20 +03:00
ZyX
7124329bd9
*: Fix memory leaks found by clang sanitizer
2016-04-18 02:46:34 +03:00
ZyX
c91c0171dd
*: Fix gcc warnings
2016-04-18 02:45:49 +03:00
ZyX
f4ea114c67
eval/decode: Fix vim_str2nr invocation
2016-04-18 02:45:49 +03:00
ZyX
33778c36cc
*: Fix linter errors
2016-04-18 02:45:49 +03:00
ZyX
a3b87fc19b
eval: Remove get_vim_var_tv function
2016-04-18 02:45:49 +03:00
ZyX
e303ea8a19
eval/decode: Add support for special maps
...
Special dictionaries representing map are created when encountering duplicate
key or when key is empty or contains NUL.
Also checks that values are separated by a comma/colon properly.
2016-04-18 02:45:49 +03:00
ZyX
2c378fdfaf
eval/decode: Parse strings with NUL to special dictionaries
2016-04-18 02:45:49 +03:00
ZyX
634e51d12b
eval/*: Fix some linter errors
2016-04-18 02:45:49 +03:00
ZyX
5814e29cdb
eval/decode: Fix surrogate pairs processing
2016-04-18 02:45:49 +03:00
ZyX
ea82270d30
eval/decode: Fail on control and invalid unicode characters
2016-04-18 02:45:49 +03:00
ZyX
cddd7d47c3
eval/decode: Make msgpackparse() function use new v: vars
2016-04-18 02:45:49 +03:00
ZyX
ed6756563c
eval/decode: Replace INIT_SPECIAL_DICT macros with inline function
2016-04-18 02:45:49 +03:00
ZyX
700b32a2b3
eval: Move some decoding functions to eval/decode.c
2016-04-18 02:45:49 +03:00