summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-02-04 22:32:59 +0100
committerBram Moolenaar <Bram@vim.org>2020-02-04 22:32:59 +0100
commit80147dda4f5a25c9533bc88583c87dbbb0a0f1f1 (patch)
tree43afe291c3107abfc5e1d25255cabe5ae0e86a31
parentd816cd94d87afb73c505bf1e5cd5e07522482113 (diff)
downloadvim-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)
-rw-r--r--src/fileio.c10
-rw-r--r--src/filepath.c70
-rw-r--r--src/version.c2
3 files changed, 42 insertions, 40 deletions
diff --git a/src/fileio.c b/src/fileio.c
index e35ce8c7b..575efafd2 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -4423,17 +4423,17 @@ readdir_core(
int (*checkitem)(void *context, char_u *name))
{
int failed = FALSE;
-#ifdef MSWIN
+# ifdef MSWIN
char_u *buf, *p;
int ok;
HANDLE hFind = INVALID_HANDLE_VALUE;
WIN32_FIND_DATAW wfb;
WCHAR *wn = NULL; // UTF-16 name, NULL when not used.
-#endif
+# endif
ga_init2(gap, (int)sizeof(char *), 20);
-#ifdef MSWIN
+# ifdef MSWIN
buf = alloc(MAXPATHL);
if (buf == NULL)
return FAIL;
@@ -4498,7 +4498,7 @@ readdir_core(
vim_free(buf);
vim_free(wn);
-#else
+# else
DIR *dirp;
struct dirent *dp;
char_u *p;
@@ -4547,7 +4547,7 @@ readdir_core(
closedir(dirp);
}
-#endif
+# endif
if (!failed && gap->ga_len > 0)
sort_strings((char_u **)gap->ga_data, gap->ga_len);
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
diff --git a/src/version.c b/src/version.c
index 6e598e588..aae2526c8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 209,
+/**/
208,
/**/
207,