mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 9.1.0499: MS-Windows: doesn't handle symlinks properly
Problem: MS-Windows: doesn't handle symlinks properly (Timothy Madden) Solution: Implement lstat() on MS-Windows (author) lstat() differs from stat() in how it handles symbolic links, the former doesn't resolve the symlink while the latter does so. Implement a simple yet effective fallback using Win32 APIs. fixes #14933 closes: #15014 Co-authored-by: K.Takata <kentkt@csc.jp> Signed-off-by: LemonBoy <thatlemon@gmail.com> Signed-off-by: K.Takata <kentkt@csc.jp> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
a821b609f9
commit
23c5ebeb95
@@ -3645,11 +3645,15 @@ dos_expandpath(
|
||||
}
|
||||
else
|
||||
{
|
||||
stat_T sb;
|
||||
|
||||
// no more wildcards, check if there is a match
|
||||
// remove backslashes for the remaining components only
|
||||
if (*path_end != 0)
|
||||
backslash_halve(buf + len + 1);
|
||||
if (mch_getperm(buf) >= 0) // add existing file
|
||||
// add existing file
|
||||
if ((flags & EW_ALLLINKS) ? mch_lstat((char *)buf, &sb) >= 0
|
||||
: mch_getperm(buf) >= 0)
|
||||
addfile(gap, buf, flags);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user