Mercurial > vim
comparison 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 |
comparison
equal
deleted
inserted
replaced
20866:c5d8fe261776 | 20867:9c24319b4cb2 |
---|---|
2639 do | 2639 do |
2640 ++p; | 2640 ++p; |
2641 while (vim_ispathsep(*p)); | 2641 while (vim_ispathsep(*p)); |
2642 } | 2642 } |
2643 start = p; // remember start after "c:/" or "/" or "///" | 2643 start = p; // remember start after "c:/" or "/" or "///" |
2644 #ifdef UNIX | |
2645 // Posix says that "//path" is unchanged but "///path" is "/path". | |
2646 if (start > filename + 2) | |
2647 { | |
2648 STRMOVE(filename + 1, p); | |
2649 start = p = filename + 1; | |
2650 } | |
2651 #endif | |
2644 | 2652 |
2645 do | 2653 do |
2646 { | 2654 { |
2647 // At this point "p" is pointing to the char following a single "/" | 2655 // At this point "p" is pointing to the char following a single "/" |
2648 // or "p" is at the "start" of the (absolute or relative) path name. | 2656 // or "p" is at the "start" of the (absolute or relative) path name. |