diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-02-04 22:32:59 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-02-04 22:32:59 +0100 |
commit | 80147dda4f5a25c9533bc88583c87dbbb0a0f1f1 (patch) | |
tree | 43afe291c3107abfc5e1d25255cabe5ae0e86a31 /src/filepath.c | |
parent | d816cd94d87afb73c505bf1e5cd5e07522482113 (diff) | |
download | vim-git-80147dda4f5a25c9533bc88583c87dbbb0a0f1f1.tar.gz |
patch 8.2.0209: function a bit far away from where it's usedv8.2.0209
Problem: Function a bit far away from where it's used.
Solution: Move function close to where it's used. (Ken Takata, closes #5569)
Diffstat (limited to 'src/filepath.c')
-rw-r--r-- | src/filepath.c | 70 |
1 files changed, 35 insertions, 35 deletions
diff --git a/src/filepath.c b/src/filepath.c index 4517f412c..9a5d127ec 100644 --- a/src/filepath.c +++ b/src/filepath.c @@ -1256,41 +1256,6 @@ f_isdirectory(typval_T *argvars, typval_T *rettv) } /* - * Evaluate "expr" (= "context") for readdir(). - */ - static int -readdir_checkitem(void *context, char_u *name) -{ - typval_T *expr = (typval_T *)context; - typval_T save_val; - typval_T rettv; - typval_T argv[2]; - int retval = 0; - int error = FALSE; - - if (expr->v_type == VAR_UNKNOWN) - return 1; - - prepare_vimvar(VV_VAL, &save_val); - set_vim_var_string(VV_VAL, name, -1); - argv[0].v_type = VAR_STRING; - argv[0].vval.v_string = name; - - if (eval_expr_typval(expr, argv, 1, &rettv) == FAIL) - goto theend; - - retval = tv_get_number_chk(&rettv, &error); - if (error) - retval = -1; - clear_tv(&rettv); - -theend: - set_vim_var_string(VV_VAL, NULL, 0); - restore_vimvar(VV_VAL, &save_val); - return retval; -} - -/* * Create the directory in which "dir" is located, and higher levels when * needed. * Return OK or FAIL. @@ -1386,6 +1351,41 @@ f_pathshorten(typval_T *argvars, typval_T *rettv) } /* + * Evaluate "expr" (= "context") for readdir(). + */ + static int +readdir_checkitem(void *context, char_u *name) +{ + typval_T *expr = (typval_T *)context; + typval_T save_val; + typval_T rettv; + typval_T argv[2]; + int retval = 0; + int error = FALSE; + + if (expr->v_type == VAR_UNKNOWN) + return 1; + + prepare_vimvar(VV_VAL, &save_val); + set_vim_var_string(VV_VAL, name, -1); + argv[0].v_type = VAR_STRING; + argv[0].vval.v_string = name; + + if (eval_expr_typval(expr, argv, 1, &rettv) == FAIL) + goto theend; + + retval = tv_get_number_chk(&rettv, &error); + if (error) + retval = -1; + clear_tv(&rettv); + +theend: + set_vim_var_string(VV_VAL, NULL, 0); + restore_vimvar(VV_VAL, &save_val); + return retval; +} + +/* * "readdir()" function */ void |