diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-10-05 20:38:06 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-10-05 20:38:06 +0200 |
commit | 50c4e9e08fb0981892e33afb9fe3751aa6df1fa4 (patch) | |
tree | a56f543892b48098448b127fcadb64abf4662c87 | |
parent | afe8cf617013fd8c3f0189f1e1fa7a2a6a8f7511 (diff) | |
download | vim-git-50c4e9e08fb0981892e33afb9fe3751aa6df1fa4.tar.gz |
patch 8.2.1804: resolve('/') returns an empty stringv8.2.1804
Problem: resolve('/') returns an empty string.
Solution: Don't remove single slash. (closes #7074)
-rw-r--r-- | src/filepath.c | 2 | ||||
-rw-r--r-- | src/testdir/test_functions.vim | 2 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 5 insertions, 1 deletions
diff --git a/src/filepath.c b/src/filepath.c index e2131a4b7..b692e227c 100644 --- a/src/filepath.c +++ b/src/filepath.c @@ -1889,7 +1889,7 @@ f_resolve(typval_T *argvars, typval_T *rettv) is_relative_to_current = TRUE; len = STRLEN(p); - if (len > 0 && after_pathsep(p, p + len)) + if (len > 1 && after_pathsep(p, p + len)) { has_trailing_pathsep = TRUE; p[len - 1] = NUL; // the trailing slash breaks readlink() diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim index 45b997f50..b81612548 100644 --- a/src/testdir/test_functions.vim +++ b/src/testdir/test_functions.vim @@ -339,6 +339,8 @@ func Test_resolve_unix() call assert_equal('Xlink2', resolve('Xlink1')) call assert_equal('./Xlink2', resolve('./Xlink1')) call delete('Xlink1') + + call assert_equal('/', resolve('/')) endfunc func s:normalize_fname(fname) diff --git a/src/version.c b/src/version.c index e4bc870cc..cfd0d5458 100644 --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1804, +/**/ 1803, /**/ 1802, |