summaryrefslogtreecommitdiffstats
path: root/src/dict.c
diff options
context:
space:
mode:
authorYegappan Lakshmanan <yegappan@yahoo.com>2022-12-27 19:54:52 +0000
committerBram Moolenaar <Bram@vim.org>2022-12-27 19:54:52 +0000
commit87c1cbbe984e60582f2536e4d3c2ce88cd474bb7 (patch)
tree34257b73179d88eb605876661cb81ad37b4e2f30 /src/dict.c
parent56310d38d8e866085108c7b77b756f4373d5122a (diff)
patch 9.0.1105: code is indented too muchv9.0.1105
Problem: Code is indented too much. Solution: Use an early return. (Yegappan Lakshmanan, closes #11756)
Diffstat (limited to 'src/dict.c')
-rw-r--r--src/dict.c76
1 files changed, 39 insertions, 37 deletions
diff --git a/src/dict.c b/src/dict.c
index 1f34b8a887..735e1fd989 100644
--- a/src/dict.c
+++ b/src/dict.c
@@ -1270,50 +1270,52 @@ dict_extend_func(
return;
}
d2 = argvars[1].vval.v_dict;
- if ((is_new || !value_check_lock(d1->dv_lock, arg_errmsg, TRUE))
- && d2 != NULL)
- {
- if (is_new)
- {
- d1 = dict_copy(d1, FALSE, TRUE, get_copyID());
- if (d1 == NULL)
- return;
- }
-
- // Check the third argument.
- if (argvars[2].v_type != VAR_UNKNOWN)
- {
- static char *(av[]) = {"keep", "force", "error"};
+ if (d2 == NULL)
+ return;
- action = tv_get_string_chk(&argvars[2]);
- if (action == NULL)
- return;
- for (i = 0; i < 3; ++i)
- if (STRCMP(action, av[i]) == 0)
- break;
- if (i == 3)
- {
- semsg(_(e_invalid_argument_str), action);
- return;
- }
- }
- else
- action = (char_u *)"force";
+ if (!is_new && value_check_lock(d1->dv_lock, arg_errmsg, TRUE))
+ return;
- if (type != NULL && check_typval_arg_type(type, &argvars[1],
- func_name, 2) == FAIL)
+ if (is_new)
+ {
+ d1 = dict_copy(d1, FALSE, TRUE, get_copyID());
+ if (d1 == NULL)
return;
- dict_extend(d1, d2, action, func_name);
+ }
- if (is_new)
+ // Check the third argument.
+ if (argvars[2].v_type != VAR_UNKNOWN)
+ {
+ static char *(av[]) = {"keep", "force", "error"};
+
+ action = tv_get_string_chk(&argvars[2]);
+ if (action == NULL)
+ return;
+ for (i = 0; i < 3; ++i)
+ if (STRCMP(action, av[i]) == 0)
+ break;
+ if (i == 3)
{
- rettv->v_type = VAR_DICT;
- rettv->vval.v_dict = d1;
- rettv->v_lock = FALSE;
+ semsg(_(e_invalid_argument_str), action);
+ return;
}
- else
- copy_tv(&argvars[0], rettv);
}
+ else
+ action = (char_u *)"force";
+
+ if (type != NULL && check_typval_arg_type(type, &argvars[1],
+ func_name, 2) == FAIL)
+ return;
+ dict_extend(d1, d2, action, func_name);
+
+ if (is_new)
+ {
+ rettv->v_type = VAR_DICT;
+ rettv->vval.v_dict = d1;
+ rettv->v_lock = FALSE;
+ }
+ else
+ copy_tv(&argvars[0], rettv);
}
/*