aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ops.c
diff options
context:
space:
mode:
authorSean Dewar <seandewar@users.noreply.github.com>2022-02-16 21:23:08 +0000
committerSean Dewar <seandewar@users.noreply.github.com>2022-02-17 14:45:22 +0000
commitb149665689f84ee7297ab5ce8a8eb59b12611af1 (patch)
tree50cfedbcea6400def5ad182307b5807b78e378c9 /src/nvim/ops.c
parenta256b710a26db5c08447eee3e602b86c13c78b06 (diff)
downloadrneovim-b149665689f84ee7297ab5ce8a8eb59b12611af1.tar.gz
rneovim-b149665689f84ee7297ab5ce8a8eb59b12611af1.tar.bz2
rneovim-b149665689f84ee7297ab5ce8a8eb59b12611af1.zip
vim-patch:8.2.3573: cannot decide whether to skip test that fails with 64 bit
Problem: Cannot decide whether to skip test that fails with 64 bit ints. (closes vim/vim#9072) Solution: Add v:sizeofint, v:sizeoflong and v:sizeofpointer. Improve the check for multiply overflow. https://github.com/vim/vim/commit/69b3072d984480935ec412b32b97fea974d2b689 Omit v:sizeof{int,long,pointer} as they're only really used for tests.
Diffstat (limited to 'src/nvim/ops.c')
-rw-r--r--src/nvim/ops.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nvim/ops.c b/src/nvim/ops.c
index e6e617a419..2218b079b0 100644
--- a/src/nvim/ops.c
+++ b/src/nvim/ops.c
@@ -3434,7 +3434,8 @@ void do_put(int regname, yankreg_T *reg, int dir, long count, int flags)
const long multlen = count * yanklen;
totlen = (size_t)(int)multlen;
- if (totlen != (size_t)multlen) {
+ if (totlen != (size_t)multlen || (long)totlen / count != yanklen
+ || (long)totlen / yanklen != count) {
emsg(_(e_resulting_text_too_long));
break;
} else if (totlen > 0) {