Mercurial > vim
diff src/scriptfile.c @ 17978:8f4cc259ed7a v8.1.1985
patch 8.1.1985: code for dealing with paths is spread out
Commit: https://github.com/vim/vim/commit/26262f87770d3a1a68b09a70152d75c2e2ae186f
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Sep 4 20:59:15 2019 +0200
patch 8.1.1985: code for dealing with paths is spread out
Problem: Code for dealing with paths is spread out.
Solution: Move path related functions from misc1.c to filepath.c.
Remove NO_EXPANDPATH.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 04 Sep 2019 21:00:04 +0200 |
parents | 4d63d47d87ef |
children | a6d218f99ff7 |
line wrap: on
line diff
--- a/src/scriptfile.c +++ b/src/scriptfile.c @@ -606,6 +606,28 @@ ex_packadd(exarg_T *eap) #endif /* + * Sort "gap" and remove duplicate entries. "gap" is expected to contain a + * list of file names in allocated memory. + */ + void +remove_duplicates(garray_T *gap) +{ + int i; + int j; + char_u **fnames = (char_u **)gap->ga_data; + + sort_strings(fnames, gap->ga_len); + for (i = gap->ga_len - 1; i > 0; --i) + if (fnamecmp(fnames[i - 1], fnames[i]) == 0) + { + vim_free(fnames[i]); + for (j = i + 1; j < gap->ga_len; ++j) + fnames[j - 1] = fnames[j]; + --gap->ga_len; + } +} + +/* * Expand color scheme, compiler or filetype names. * Search from 'runtimepath': * 'runtimepath'/{dirnames}/{pat}.vim