summaryrefslogtreecommitdiffstats
path: root/src/dict.c
diff options
context:
space:
mode:
authorYegappan Lakshmanan <yegappan@yahoo.com>2022-06-14 13:42:26 +0100
committerBram Moolenaar <Bram@vim.org>2022-06-14 13:42:26 +0100
commitca195cc84fb3f5e497cdbc5f1f53dc1d7efedf48 (patch)
tree709beb58d68cd3433060720a1c81cbfe6228715f /src/dict.c
parentcd7496382efc9e6748326c6cda7f01003fa07063 (diff)
patch 8.2.5089: some functions return a different value on failurev8.2.5089
Problem: Some functions return a different value on failure. Solution: Initialize the return value earlier. (Yegappan Lakshmanan, closes #10568)
Diffstat (limited to 'src/dict.c')
-rw-r--r--src/dict.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/dict.c b/src/dict.c
index 538dd8ba26..d2819578a7 100644
--- a/src/dict.c
+++ b/src/dict.c
@@ -1457,6 +1457,9 @@ dict_list(typval_T *argvars, typval_T *rettv, int what)
dict_T *d;
int todo;
+ if (rettv_list_alloc(rettv) == FAIL)
+ return;
+
if (in_vim9script() && check_for_dict_arg(argvars, 0) == FAIL)
return;
@@ -1466,8 +1469,6 @@ dict_list(typval_T *argvars, typval_T *rettv, int what)
return;
}
- if (rettv_list_alloc(rettv) == FAIL)
- return;
if ((d = argvars[0].vval.v_dict) == NULL)
// empty dict behaves like an empty dict
return;