summaryrefslogtreecommitdiffstats
path: root/src/vim9execute.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vim9execute.c')
-rw-r--r--src/vim9execute.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 9bc0d45d34..7a2b21d359 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -792,8 +792,8 @@ call_def_function(
for (idx = 0; idx < argc; ++idx)
{
if (ufunc->uf_arg_types != NULL && idx < ufunc->uf_args.ga_len
- && check_typval_type(ufunc->uf_arg_types[idx], &argv[idx])
- == FAIL)
+ && check_typval_type(ufunc->uf_arg_types[idx], &argv[idx],
+ idx + 1) == FAIL)
goto failed_early;
copy_tv(&argv[idx], STACK_TV_BOT(0));
++ectx.ec_stack.ga_len;
@@ -822,7 +822,8 @@ call_def_function(
for (idx = 0; idx < vararg_count; ++idx)
{
- if (check_typval_type(expected, &li->li_tv) == FAIL)
+ if (check_typval_type(expected, &li->li_tv,
+ argc + idx + 1) == FAIL)
goto failed_early;
li = li->li_next;
}