summaryrefslogtreecommitdiffstats
path: root/src/findfile.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-06-15 21:41:56 +0200
committerBram Moolenaar <Bram@vim.org>2020-06-15 21:41:56 +0200
commitfdcbe3c3fedf48a43b22938c9331addb2f1182f1 (patch)
treea8d1f55af507815b74ffc445467610ac2efe13d6 /src/findfile.c
parentab176ce982ac67f7cfcfa1fa885f9117ef8bbafe (diff)
patch 8.2.0985: simplify() does not remove slashes from "///path"v8.2.0985
Problem: Simplify() does not remove slashes from "///path". Solution: Reduce > 2 slashes to one. (closes #6263)
Diffstat (limited to 'src/findfile.c')
-rw-r--r--src/findfile.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/findfile.c b/src/findfile.c
index 2139d8bae6..b153ed010c 100644
--- a/src/findfile.c
+++ b/src/findfile.c
@@ -2641,6 +2641,14 @@ simplify_filename(char_u *filename)
while (vim_ispathsep(*p));
}
start = p; // remember start after "c:/" or "/" or "///"
+#ifdef UNIX
+ // Posix says that "//path" is unchanged but "///path" is "/path".
+ if (start > filename + 2)
+ {
+ STRMOVE(filename + 1, p);
+ start = p = filename + 1;
+ }
+#endif
do
{