diff options
author | ZyX <kp-pav@yandex.ru> | 2016-02-06 03:19:55 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2016-04-18 02:45:49 +0300 |
commit | f4ea114c672dbd62088b3107775060c58209a9b7 (patch) | |
tree | cee3537eb7b8e466dc2b54eb6ba5df43a829f752 /src/nvim/eval/decode.c | |
parent | 33778c36ccc62d83d24ab30181926ba44fa4eecf (diff) | |
download | rneovim-f4ea114c672dbd62088b3107775060c58209a9b7.tar.gz rneovim-f4ea114c672dbd62088b3107775060c58209a9b7.tar.bz2 rneovim-f4ea114c672dbd62088b3107775060c58209a9b7.zip |
eval/decode: Fix vim_str2nr invocation
Diffstat (limited to 'src/nvim/eval/decode.c')
-rw-r--r-- | src/nvim/eval/decode.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/nvim/eval/decode.c b/src/nvim/eval/decode.c index 29a1b2a82a..8a5684136b 100644 --- a/src/nvim/eval/decode.c +++ b/src/nvim/eval/decode.c @@ -470,10 +470,11 @@ json_decode_string_cycle_start: t++; switch (*t) { case 'u': { - const char ubuf[] = { t[1], t[2], t[3], t[4], 0 }; + const char ubuf[] = { t[1], t[2], t[3], t[4] }; t += 4; unsigned long ch; - vim_str2nr((char_u *) ubuf, NULL, NULL, 0, 0, 2, NULL, &ch); + vim_str2nr((char_u *) ubuf, NULL, NULL, + STR2NR_HEX | STR2NR_FORCE, NULL, &ch, 4); if (ch == 0) { hasnul = true; } @@ -622,7 +623,7 @@ json_decode_string_cycle_start: } else { // Convert integer long nr; - vim_str2nr((char_u *) s, NULL, NULL, 0, 0, 0, &nr, NULL); + vim_str2nr((char_u *) s, NULL, NULL, 0, &nr, NULL, (int) (p - s)); tv.vval.v_number = (varnumber_T) nr; } POP(tv, false); |