From 80a44c0525fae6bee396242d2d2e887bfe5ad1a6 Mon Sep 17 00:00:00 2001 From: Thiago de Arruda Date: Wed, 4 Nov 2015 09:41:34 -0300 Subject: eval: Extract `find_ufunc` from `get_dict_callback` --- src/nvim/eval.c | 22 +++++++++++----------- 1 file 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; } /* -- cgit