summaryrefslogtreecommitdiff
path: root/src/evalvars.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-01-21 12:34:14 +0100
committerBram Moolenaar <Bram@vim.org>2021-01-21 12:34:14 +0100
commitc5f59fab23820454f060562927ddc1397f9d479a (patch)
treeb2f9c295fd9d127e5211ad608966554cf92d7ae6 /src/evalvars.c
parenta0f7f73ebb3ab032af08699c24c465403512b7d8 (diff)
downloadvim-git-c5f59fab23820454f060562927ddc1397f9d479a.tar.gz
patch 8.2.2381: Vim9: divide by zero does not abort expression executionv8.2.2381
Problem: Vim9: divide by zero does not abort expression execution. Solution: Use a "failed" flag. (issue #7704)
Diffstat (limited to 'src/evalvars.c')
-rw-r--r--src/evalvars.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/evalvars.c b/src/evalvars.c
index 200fb8f12..179953178 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -1410,8 +1410,10 @@ ex_let_one(
case '+': n = numval + n; break;
case '-': n = numval - n; break;
case '*': n = numval * n; break;
- case '/': n = (long)num_divide(numval, n); break;
- case '%': n = (long)num_modulus(numval, n); break;
+ case '/': n = (long)num_divide(numval, n,
+ &failed); break;
+ case '%': n = (long)num_modulus(numval, n,
+ &failed); break;
}
}
else if (opt_type == gov_string