0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

patch 8.2.1804: resolve('/') returns an empty string

Problem:    resolve('/') returns an empty string.
Solution:   Don't remove single slash. (closes #7074)
This commit is contained in:
Bram Moolenaar
2020-10-05 20:38:06 +02:00
parent afe8cf6170
commit 50c4e9e08f
3 changed files with 5 additions and 1 deletions

View File

@@ -1889,7 +1889,7 @@ f_resolve(typval_T *argvars, typval_T *rettv)
is_relative_to_current = TRUE; is_relative_to_current = TRUE;
len = STRLEN(p); len = STRLEN(p);
if (len > 0 && after_pathsep(p, p + len)) if (len > 1 && after_pathsep(p, p + len))
{ {
has_trailing_pathsep = TRUE; has_trailing_pathsep = TRUE;
p[len - 1] = NUL; // the trailing slash breaks readlink() p[len - 1] = NUL; // the trailing slash breaks readlink()

View File

@@ -339,6 +339,8 @@ func Test_resolve_unix()
call assert_equal('Xlink2', resolve('Xlink1')) call assert_equal('Xlink2', resolve('Xlink1'))
call assert_equal('./Xlink2', resolve('./Xlink1')) call assert_equal('./Xlink2', resolve('./Xlink1'))
call delete('Xlink1') call delete('Xlink1')
call assert_equal('/', resolve('/'))
endfunc endfunc
func s:normalize_fname(fname) func s:normalize_fname(fname)

View File

@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1804,
/**/ /**/
1803, 1803,
/**/ /**/