aboutsummaryrefslogtreecommitdiff
path: root/src/path/filepath
diff options
context:
space:
mode:
authorYasuhiro Matsumoto <mattn.jp@gmail.com>2017-01-25 16:48:17 +0900
committerAlex Brainman <alex.brainman@gmail.com>2017-02-04 07:24:20 +0000
commit34b455da4484dee20e8c355b50d24680224b58f2 (patch)
treea49177ca5feee1d81bc4b1bc039c1d7be3de8051 /src/path/filepath
parent769be04feb724e03c1f2b757fc19326a1486896c (diff)
downloadgo-34b455da4484dee20e8c355b50d24680224b58f2.tar.xz
path/filepath: ignore dot for Dir(`\\server\share`)
Dir(`\\server\share`) returns `\\server\share.`. Change Dir so it returns `\\server\share` instead. Fixes #18783 Change-Id: I9e0dd71ea6aea85e6c6114aaa4bb3bea3270d818 Reviewed-on: https://go-review.googlesource.com/35690 Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Run-TryBot: Alex Brainman <alex.brainman@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/path/filepath')
-rw-r--r--src/path/filepath/path.go4
-rw-r--r--src/path/filepath/path_test.go1
2 files changed, 5 insertions, 0 deletions
diff --git a/src/path/filepath/path.go b/src/path/filepath/path.go
index 1d8e35c969..e35ed5fefd 100644
--- a/src/path/filepath/path.go
+++ b/src/path/filepath/path.go
@@ -461,6 +461,10 @@ func Dir(path string) string {
i--
}
dir := Clean(path[len(vol) : i+1])
+ if dir == "." && len(vol) > 2 {
+ // must be UNC
+ return vol
+ }
return vol + dir
}
diff --git a/src/path/filepath/path_test.go b/src/path/filepath/path_test.go
index 921b23842b..70baa6112f 100644
--- a/src/path/filepath/path_test.go
+++ b/src/path/filepath/path_test.go
@@ -665,6 +665,7 @@ var windirtests = []PathTest{
{`c:\a\b`, `c:\a`},
{`c:a\b`, `c:a`},
{`c:a\b\c`, `c:a\b`},
+ {`\\host\share`, `\\host\share`},
{`\\host\share\`, `\\host\share\`},
{`\\host\share\a`, `\\host\share\`},
{`\\host\share\a\b`, `\\host\share\a`},