Fixing #19188
On Cygwin and MSYS2, // has a special meaning: it is treated as a prefix for accessing network computers.
For example, //wsl$/ is used to access WSL.
In the current Vim implementation, the directory path passed to readdirex() and the file name found during traversal are concatenated using "/".
When the directory path already ends with /, this results in paths like:
"/" + "/" + "$Recycle.Bin"
which produces a //-prefixed path. Such paths are interpreted as network paths, so Vim ends up trying to retrieve the file size of a network computer named $Recycle.Bin, which is not intended.
From a correctness perspective on Windows, file size retrieval should be skipped for paths of the following forms:
//host
//host/share
However, as a first step, we should avoid generating // paths caused by redundant / concatenation in the first place.
The patch below addresses this by preventing unnecessary / insertion when constructing paths.
https://github.com/vim/vim/pull/19241
(1 file)
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()