Mercurial > vim
diff src/json.c @ 32098:39f4126d2a0d v9.0.1380
patch 9.0.1380: CTRL-X on 2**64 subtracts two
Commit: https://github.com/vim/vim/commit/5fb78c3fa5c996c08a65431d698bd2c251eef5c7
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Mar 4 20:47:39 2023 +0000
patch 9.0.1380: CTRL-X on 2**64 subtracts two
Problem: CTRL-X on 2**64 subtracts two. (James McCoy)
Solution: Correct computation for large number. (closes https://github.com/vim/vim/issues/12103)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 04 Mar 2023 22:00:03 +0100 |
parents | 307f68a41b03 |
children | 10a03ae8ba60 |
line wrap: on
line diff
--- a/src/json.c +++ b/src/json.c @@ -540,7 +540,7 @@ json_decode_string(js_read_T *reader, ty nr = 0; len = 0; vim_str2nr(p + 2, NULL, &len, - STR2NR_HEX + STR2NR_FORCE, &nr, NULL, 4, TRUE); + STR2NR_HEX + STR2NR_FORCE, &nr, NULL, 4, TRUE, NULL); if (len == 0) { if (res != NULL) @@ -556,8 +556,8 @@ json_decode_string(js_read_T *reader, ty // decode surrogate pair: \ud812\u3456 len = 0; - vim_str2nr(p + 2, NULL, &len, - STR2NR_HEX + STR2NR_FORCE, &nr2, NULL, 4, TRUE); + vim_str2nr(p + 2, NULL, &len, STR2NR_HEX + STR2NR_FORCE, + &nr2, NULL, 4, TRUE, NULL); if (len == 0) { if (res != NULL) @@ -882,7 +882,7 @@ json_decode_item(js_read_T *reader, typv vim_str2nr(reader->js_buf + reader->js_used, NULL, &len, 0, // what - &nr, NULL, 0, TRUE); + &nr, NULL, 0, TRUE, NULL); if (len == 0) { semsg(_(e_json_decode_error_at_str), p);