To: vim_dev@googlegroups.com Subject: Patch 8.2.0209 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.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) Files: src/fileio.c, src/filepath.c *** ../vim-8.2.0208/src/fileio.c 2019-12-15 12:54:14.464144568 +0100 --- src/fileio.c 2020-02-04 22:32:14.570245802 +0100 *************** *** 4423,4439 **** int (*checkitem)(void *context, char_u *name)) { int failed = FALSE; ! #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 ga_init2(gap, (int)sizeof(char *), 20); ! #ifdef MSWIN buf = alloc(MAXPATHL); if (buf == NULL) return FAIL; --- 4423,4439 ---- int (*checkitem)(void *context, char_u *name)) { int failed = FALSE; ! # 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 ga_init2(gap, (int)sizeof(char *), 20); ! # ifdef MSWIN buf = alloc(MAXPATHL); if (buf == NULL) return FAIL; *************** *** 4498,4504 **** vim_free(buf); vim_free(wn); ! #else DIR *dirp; struct dirent *dp; char_u *p; --- 4498,4504 ---- vim_free(buf); vim_free(wn); ! # else DIR *dirp; struct dirent *dp; char_u *p; *************** *** 4547,4553 **** closedir(dirp); } ! #endif if (!failed && gap->ga_len > 0) sort_strings((char_u **)gap->ga_data, gap->ga_len); --- 4547,4553 ---- closedir(dirp); } ! # endif if (!failed && gap->ga_len > 0) sort_strings((char_u **)gap->ga_data, gap->ga_len); *** ../vim-8.2.0208/src/filepath.c 2020-02-04 22:22:43.060586069 +0100 --- src/filepath.c 2020-02-04 22:32:14.570245802 +0100 *************** *** 1256,1296 **** } /* - * 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. --- 1256,1261 ---- *************** *** 1386,1391 **** --- 1351,1391 ---- } /* + * 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 *** ../vim-8.2.0208/src/version.c 2020-02-04 22:22:43.060586069 +0100 --- src/version.c 2020-02-04 22:32:09.326264541 +0100 *************** *** 744,745 **** --- 744,747 ---- { /* Add new patch number below this line */ + /**/ + 209, /**/ -- Time is an illusion. Lunchtime doubly so. -- Ford Prefect, in Douglas Adams' "The Hitchhiker's Guide to the Galaxy" /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///