diff src/findfile.c @ 20867:9c24319b4cb2 v8.2.0985

patch 8.2.0985: simplify() does not remove slashes from "///path" Commit: https://github.com/vim/vim/commit/fdcbe3c3fedf48a43b22938c9331addb2f1182f1 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Jun 15 21:41:56 2020 +0200 patch 8.2.0985: simplify() does not remove slashes from "///path" Problem: Simplify() does not remove slashes from "///path". Solution: Reduce > 2 slashes to one. (closes https://github.com/vim/vim/issues/6263)
author Bram Moolenaar <Bram@vim.org>
date Mon, 15 Jun 2020 21:45:03 +0200
parents 9064044fd4f6
children 3af71cbcfdbe
line wrap: on
line diff
--- 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
     {