aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2015-11-04 09:41:34 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2015-11-09 09:41:08 -0300
commit80a44c0525fae6bee396242d2d2e887bfe5ad1a6 (patch)
tree4b1a96e931139cbfa784ce718f5d6b140dd45a59 /src
parentf65e7bf30c8a00696d5740e35d0f84b9aa648b99 (diff)
downloadrneovim-80a44c0525fae6bee396242d2d2e887bfe5ad1a6.tar.gz
rneovim-80a44c0525fae6bee396242d2d2e887bfe5ad1a6.tar.bz2
rneovim-80a44c0525fae6bee396242d2d2e887bfe5ad1a6.zip
eval: Extract `find_ufunc` from `get_dict_callback`
Diffstat (limited to 'src')
-rw-r--r--src/nvim/eval.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 4cb3f58dbb..a0341ab35f 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -6264,7 +6264,16 @@ static bool get_dict_callback(dict_T *d, char *key, ufunc_T **result)
return false;
}
- uint8_t *name = di->di_tv.vval.v_string;
+ if ((*result = find_ufunc(di->di_tv.vval.v_string)) == NULL) {
+ return false;
+ }
+
+ (*result)->uf_refcount++;
+ return true;
+}
+
+static ufunc_T *find_ufunc(uint8_t *name)
+{
uint8_t *n = name;
ufunc_T *rv = NULL;
if (*n > '9' || *n < '0') {
@@ -6276,16 +6285,7 @@ static bool get_dict_callback(dict_T *d, char *key, ufunc_T **result)
// dict function, name is already translated
rv = find_func(n);
}
-
- if (!rv) {
- EMSG2(_("Function %s doesn't exist"), name);
- *result = NULL;
- return false;
- }
- rv->uf_refcount++;
-
- *result = rv;
- return true;
+ return rv;
}
/*