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);