|
|
Created:
14 years ago by mattn Modified:
13 years, 11 months ago Reviewers:
CC:
golang-dev_googlecode.com, r2, rsc, brainman, rh, jp, golang-dev Visibility:
Public. |
Descriptionpath/filepath: make UNC file names work
Fixes issue 2201
Patch Set 1 #Patch Set 2 : diff -r f82589a5e747 http://go.googlecode.com/hg/ #Patch Set 3 : diff -r f82589a5e747 http://go.googlecode.com/hg/ #
Total comments: 1
Patch Set 4 : diff -r f845253df880 http://go.googlecode.com/hg/ #Patch Set 5 : diff -r 3fc0b72a3ad7 http://go.googlecode.com/hg/ #Patch Set 6 : diff -r 3fc0b72a3ad7 http://go.googlecode.com/hg/ #Patch Set 7 : diff -r 3fc0b72a3ad7 http://go.googlecode.com/hg/ #Patch Set 8 : diff -r 2a748f320ba5 http://go.googlecode.com/hg/ #Patch Set 9 : diff -r 2a748f320ba5 http://go.googlecode.com/hg/ #
Total comments: 2
Patch Set 10 : diff -r 2a748f320ba5 http://go.googlecode.com/hg/ #Patch Set 11 : diff -r 2a748f320ba5 http://go.googlecode.com/hg/ #Patch Set 12 : diff -r 2a748f320ba5 http://go.googlecode.com/hg/ #Patch Set 13 : diff -r c0fea223bc90 http://go.googlecode.com/hg/ #Patch Set 14 : diff -r c0fea223bc90 http://go.googlecode.com/hg/ #
Total comments: 2
Patch Set 15 : diff -r d084dfee7dd3 http://go.googlecode.com/hg/ #Patch Set 16 : diff -r 2bd37ba2bcbb http://go.googlecode.com/hg/ #
Total comments: 14
Patch Set 17 : diff -r 5323e969c66a http://go.googlecode.com/hg/ #
Total comments: 4
Patch Set 18 : diff -r 2892d1e242e6 http://go.googlecode.com/hg/ #
MessagesTotal messages: 46
Hello golang-dev@googlecode.com (cc: golang-dev@googlegroups.com), I'd like you to review this change to http://go.googlecode.com/hg/
Sign in to reply to this message.
http://codereview.appspot.com/4950051/diff/5001/src/pkg/path/filepath/path.go File src/pkg/path/filepath/path.go (right): http://codereview.appspot.com/4950051/diff/5001/src/pkg/path/filepath/path.go... src/pkg/path/filepath/path.go:61: vol = string(Separator) I'll add comment "workaround" in this part .
Sign in to reply to this message.
Can a UNC path use "/" as well as "\"? I thought it could. -rob
Sign in to reply to this message.
Yes, for example, type in your command prompt C:\>dir "//host/share/" Note to add quote to avoid that dir treat "/" as leading of option. On Tuesday, August 30, 2011 4:22:50 PM UTC+9, r wrote: > > Can a UNC path use "/" as well as "\"? I thought it could. > > -rob > >
Sign in to reply to this message.
But I don't see code for "/" in your implementation of IsUNC. -rob
Sign in to reply to this message.
os.IsPathSeparator is checking "\" or "/" in os/path_windows.go
Sign in to reply to this message.
This is putting a Windows concept and name into the general API, which doesn't seem necessary. Isn't it sufficient to embed the concept in the Windows implementation of IsAbs? -rob
Sign in to reply to this message.
I am concerned about the precedent set by putting windows-specific function names in the filepath package. We definitely want the packages to have a consistent API across all platforms, but we also don't want them to have every possible function from every possible operating system. Windows paths are certainly messy. Is it enough to just have IsAbs return true for UNC paths and drop IsUNC?
Sign in to reply to this message.
I renamed IsUNC to isUNC. and uploaded. > Windows paths are certainly messy. > Is it enough to just have IsAbs return > true for UNC paths and drop IsUNC? isUNC is used from Clean. Clean is normalizing paths like //foo/bar/baz to \foo\bar\baz And if isUNC return true, Clean add \ to the top: \\foo\bar\baz However, ///foo/bar/baz, //foo/bar, //foo/ and //foo must not be treated as UNC paths. isUNC is used for checking this. Thanks. - mattn
Sign in to reply to this message.
I think you need to fix filepath.Split and filepath.VolumeName as well: package main import ( "fmt" "path/filepath" ) func testIt(path string) { fmt.Printf("\n:path=%s\n", path) d, f := filepath.Split(path) fmt.Printf("filepath.Split(%s) = (dir=%s file=%s)\n", path, d, f) fmt.Printf("filepath.VolumeName(%s) = (vol=%s)\n", path, filepath.VolumeName(path)) } func main() { testIt(`\a\b\c`) testIt(`c:\a\b\c`) testIt(`\\server\share\a\b\c`) testIt(`\\server\share\a`) testIt(`\\server\share\`) testIt(`\\server\share`) testIt(`\\server\`) testIt(`\\server`) } prints C:\>\\sos\pub\test :path=\a\b\c filepath.Split(\a\b\c) = (dir=\a\b\ file=c) filepath.VolumeName(\a\b\c) = (vol=) :path=c:\a\b\c filepath.Split(c:\a\b\c) = (dir=c:\a\b\ file=c) filepath.VolumeName(c:\a\b\c) = (vol=c:) :path=\\server\share\a\b\c filepath.Split(\\server\share\a\b\c) = (dir=\\server\share\a\b\ file=c) filepath.VolumeName(\\server\share\a\b\c) = (vol=) :path=\\server\share\a filepath.Split(\\server\share\a) = (dir=\\server\share\ file=a) filepath.VolumeName(\\server\share\a) = (vol=) :path=\\server\share\ filepath.Split(\\server\share\) = (dir=\\server\share\ file=) filepath.VolumeName(\\server\share\) = (vol=) :path=\\server\share filepath.Split(\\server\share) = (dir=\\server\ file=share) filepath.VolumeName(\\server\share) = (vol=) :path=\\server\ filepath.Split(\\server\) = (dir=\\server\ file=) filepath.VolumeName(\\server\) = (vol=) :path=\\server filepath.Split(\\server) = (dir=\\ file=server) filepath.VolumeName(\\server) = (vol=) C:\> I would expect filepath.VolumeName(`\\server\share\a\b\c`) to return `\\server\share`. Wouldn't you? Alex
Sign in to reply to this message.
ok, what a point of fixing about Split() ?
Sign in to reply to this message.
On 2011/09/02 04:33:18, mattn wrote: > ok, what a point of fixing about Split() ? > filepath.Split(\\server\share\) = (dir=\\server\share\ file=) filepath.Split(\\server\share) = (dir=\\server\ file=share) filepath.Split(\\server\) = (dir=\\server\ file=) filepath.Split(\\server) = (dir=\\ file=server) First one, I think, is good, but the rest don't look right to me. Perhaps filepath.Split(\\server\share) = (dir=\server\ file=share) filepath.Split(\\server\) = (dir=\server\ file=) filepath.Split(\\server) = (dir=\ file=server) but I am not sure if this will cause other problems. Alex
Sign in to reply to this message.
Ah, my patch don't treat them as UNC C:\>dir \\foo The filename, directory name, or volume label syntax is incorrect. C:\>dir \\foo\ The filename, directory name, or volume label syntax is incorrect. C:\>dir \\foo\bar Access is denied. So, UNC's minimal spec is \\foo\bar. My patch's one is \\foo\bar\ I'll fix this. Is this ok?
Sign in to reply to this message.
On 2011/09/02 04:47:11, mattn wrote: > > ... Is this ok? > I don't know what the right treatment here is. But I think anything less then \\server\share\ (I mean \\, \\server, \\server\share) should be treated as file or directory names without any UNC prefix. Therefore, none of these \\, \\server, \\server\share, should have \\ at the front after they are cleaned, but \ instead. Alex
Sign in to reply to this message.
I can't read/understand the english well. Please show me as test case. I don't mind that is not code. Sorry...
Sign in to reply to this message.
On 2011/09/02 06:07:25, mattn wrote: > I can't read/understand the english well. That makes 2 of us :-) I think we understand each other fine. I am not certain what the rules about UNC should be. Just go ahead with what you think is right, and we will correct you. Alex
Sign in to reply to this message.
Ok, I'm only thinking that go keep the spec of UNC. But I can't find the spec from MSDN. So far as checking of output from 'dir', it seems \\share => not UNC \\share\ => not UNC \\share\a => UNC I uploaded new changes.
Sign in to reply to this message.
On 2011/09/02 06:35:42, mattn wrote: > > I uploaded new changes. > But you didn't change VolumeName. I would expect filepath.VolumeName(`\\server\share\a\b\c`) to return `\\server\share`. Wouldn't you? Alex
Sign in to reply to this message.
oops. plz wait.
Sign in to reply to this message.
On 2011/09/02 06:40:59, mattn wrote: > oops. plz wait. Sorry, no, it is beer time. Let's leave it till next week. Please. Alex
Sign in to reply to this message.
Have a good time! :)
Sign in to reply to this message.
On 2011/09/02 06:46:00, mattn wrote: > Have a good time! :) Same to you. Alex
Sign in to reply to this message.
On 2011/09/02 06:35:42, mattn wrote: > Ok, I'm only thinking that go keep the spec of UNC. > > But I can't find the spec from MSDN. > So far as checking of output from 'dir', it seems > > \\share => not UNC > \\share\ => not UNC > \\share\a => UNC > > I uploaded new changes. > mattn, does this help? http://msdn.microsoft.com/en-us/library/62e862f4-2a51-452e-8eeb-dc4ff5ee33cc(...
Sign in to reply to this message.
Great, Thanks!
Sign in to reply to this message.
Hello golang-dev@googlecode.com, r@google.com, rsc@golang.org, alex.brainman@gmail.com, robert.hencke@gmail.com (cc: golang-dev@googlegroups.com), Please take another look.
Sign in to reply to this message.
http://codereview.appspot.com/4950051/diff/8003/src/pkg/path/filepath/path_te... File src/pkg/path/filepath/path_test.go (right): http://codereview.appspot.com/4950051/diff/8003/src/pkg/path/filepath/path_te... src/pkg/path/filepath/path_test.go:5: package filepath Please, do not change package. Do not worry about testing isUNC, I don't think it is important. Test exported functions instead. Add UNC paths samples to TestClean, TestJoin and TestIsAbs. Add UNC and "drive letter" samples to TestSplit, we don't test these, but we should. Add new test for VolumeName, we should test it too. I think, you should create tests first. Once you run these, you will see what needs to change to make them work. You might find you do not need isUNC at all. Feel free to show us your tests first. I am not 100% sure, what these tests will look like. We can all discuss them before you try and implement them.
Sign in to reply to this message.
http://codereview.appspot.com/4950051/diff/8003/src/pkg/path/filepath/path_te... File src/pkg/path/filepath/path_test.go (right): http://codereview.appspot.com/4950051/diff/8003/src/pkg/path/filepath/path_te... src/pkg/path/filepath/path_test.go:5: package filepath No, isUNC is needed. VolumeName(`c:/foo`) should return `c:`. VolumeName(`\\host\share\foo`) should return `\\host\server`. Thus, isUNC whether the path is formated as \\host\share. On 2011/09/06 07:07:18, brainman wrote: > Please, do not change package. Do not worry about testing isUNC, I don't think > it is important. Test exported functions instead. Add UNC paths samples to > TestClean, TestJoin and TestIsAbs. Add UNC and "drive letter" samples to > TestSplit, we don't test these, but we should. Add new test for VolumeName, we > should test it too. > > I think, you should create tests first. Once you run these, you will see what > needs to change to make them work. You might find you do not need isUNC at all. > > Feel free to show us your tests first. I am not 100% sure, what these tests will > look like. We can all discuss them before you try and implement them. Most of test was already exists in TestUNC, however you are right. I splited the tests to TestClean, TestJoin, TestAbs... etc.
Sign in to reply to this message.
Ah, very strange english. isUNC is used for whether "/" is needed at leader of the path for UNC. And it can't check that the path is UNC with VolumeName(path) is empty or not. On Tuesday, September 6, 2011 4:59:19 PM UTC+9, mattn wrote: > > > > http://codereview.appspot.com/4950051/diff/8003/src/pkg/path/filepath/path_te... > File src/pkg/path/filepath/path_test.go (right): > > > http://codereview.appspot.com/4950051/diff/8003/src/pkg/path/filepath/path_te... > src/pkg/path/filepath/path_test.go:5: package filepath > No, isUNC is needed. > > VolumeName(`c:/foo`) should return `c:`. > VolumeName(`\\host\share\foo`) should return `\\host\server`. > > Thus, isUNC whether the path is formated as \\host\share. > > On 2011/09/06 07:07:18, brainman wrote: > > Please, do not change package. Do not worry about testing isUNC, I > don't think > > it is important. Test exported functions instead. Add UNC paths > samples to > > TestClean, TestJoin and TestIsAbs. Add UNC and "drive letter" samples > to > > TestSplit, we don't test these, but we should. Add new test for > VolumeName, we > > should test it too. > > > I think, you should create tests first. Once you run these, you will > see what > > needs to change to make them work. You might find you do not need > isUNC at all. > > > Feel free to show us your tests first. I am not 100% sure, what these > tests will > > look like. We can all discuss them before you try and implement them. > > Most of test was already exists in TestUNC, however you are right. > > I splited the tests to TestClean, TestJoin, TestAbs... etc. > > http://codereview.appspot.com/4950051/ > >
Sign in to reply to this message.
Hello golang-dev@googlecode.com, r@google.com, rsc@golang.org, alex.brainman@gmail.com, robert.hencke@gmail.com (cc: golang-dev@googlegroups.com), Please take another look.
Sign in to reply to this message.
http://codereview.appspot.com/4950051/diff/9009/src/pkg/path/filepath/path_te... File src/pkg/path/filepath/path_test.go (right): http://codereview.appspot.com/4950051/diff/9009/src/pkg/path/filepath/path_te... src/pkg/path/filepath/path_test.go:80: {`//host/share/foo/../baz`, `\\host\share\baz`}, I have added this extra test {`\\a\b\..\c`, `\a\c`}, but it fails with Clean("\\\\a\\b\\..\\c") = "\\\\a\\c", want "\\a\\c" Don't you think it should work?
Sign in to reply to this message.
http://codereview.appspot.com/4950051/diff/9009/src/pkg/path/filepath/path_te... File src/pkg/path/filepath/path_test.go (right): http://codereview.appspot.com/4950051/diff/9009/src/pkg/path/filepath/path_te... src/pkg/path/filepath/path_test.go:80: {`//host/share/foo/../baz`, `\\host\share\baz`}, "\\\\a\\b\\" in "\\\\a\\b\\..\\c" is meaning volume name. so this is meaning c:\..\c I think this should be failed. On 2011/09/08 06:25:41, brainman wrote: > I have added this extra test > {`\\a\b\..\c`, `\a\c`}, > but it fails with > Clean("\\\\a\\b\\..\\c") = "\\\\a\\c", want "\\a\\c" > > Don't you think it should work?
Sign in to reply to this message.
On 2011/09/08 06:32:25, mattn wrote: > "\\\\a\\b\\" in "\\\\a\\b\\..\\c" is meaning volume name. What about //a/b/../c? I think this could be interpreted as file or directory /a/c. > > I think this should be failed. > Clean does not fail. There is no error to return. I am not sure what to do. Alex
Sign in to reply to this message.
On 2011/09/08 07:18:32, brainman wrote: > What about //a/b/../c? I think this could be interpreted as file or directory > /a/c. Windows can use slash for UNC paths like //a/b . for example try following. C:\>dir "//host/service" Note to add quote to avoid that slash is treated as leader of options like "dir /s". > Clean does not fail. There is no error to return. > > I am not sure what to do. Yes, not fail. I mean that tests you added should be failed. If IsUNC(path) return false, Clean() treat the path as absolute path with leading slash. //a/b/../c is not UNC. Then it should be /a/c.
Sign in to reply to this message.
c:\..\c equals to c:\c \\a\b\..\c equals to \\a\b\c just try "dir c:\..\c" it does not fail On 2011/09/08 06:32:25, mattn wrote: > http://codereview.appspot.com/4950051/diff/9009/src/pkg/path/filepath/path_te... > File src/pkg/path/filepath/path_test.go (right): > > http://codereview.appspot.com/4950051/diff/9009/src/pkg/path/filepath/path_te... > src/pkg/path/filepath/path_test.go:80: {`//host/share/foo/../baz`, > `\\host\share\baz`}, > "\\\\a\\b\\" in "\\\\a\\b\\..\\c" is meaning volume name. > so this is meaning > > c:\..\c > > I think this should be failed. > > On 2011/09/08 06:25:41, brainman wrote: > > I have added this extra test > > {`\\a\b\..\c`, `\a\c`}, > > but it fails with > > Clean("\\\\a\\b\\..\\c") = "\\\\a\\c", want "\\a\\c" > > > > Don't you think it should work?
Sign in to reply to this message.
> > //a/b/../c is not UNC. Then it should be /a/c. Why? C:\>dir \\i\c$\..\Windows | head Volume in drive \\i\c$ has no label. Volume Serial Number is CC70-3998 Directory of \\i\c$\Windows 09/06/2011 10:15 PM <DIR> . 09/06/2011 10:15 PM <DIR> .. 05/06/2011 12:06 AM 3 7Loader.TAG 07/14/2009 09:32 AM <DIR> addins 07/14/2009 07:20 AM <DIR> AppCompat
Sign in to reply to this message.
Done. On 2011/09/08 07:42:35, jp wrote: > > > > //a/b/../c is not UNC. Then it should be /a/c. > > Why? > > C:\>dir \\i\c$\..\Windows | head > Volume in drive \\i\c$ has no label. > Volume Serial Number is CC70-3998 > > Directory of \\i\c$\Windows > > 09/06/2011 10:15 PM <DIR> . > 09/06/2011 10:15 PM <DIR> .. > 05/06/2011 12:06 AM 3 7Loader.TAG > 07/14/2009 09:32 AM <DIR> addins > 07/14/2009 07:20 AM <DIR> AppCompat
Sign in to reply to this message.
There are some invalids: \\i\..\c$ and \\i\..\i\c$ Should they panic or be leaved unchanged ?
Sign in to reply to this message.
On 2011/09/08 08:29:02, jp wrote: > There are some invalids: \\i\..\c$ and \\i\..\i\c$ > Should they panic or be leaved unchanged ? Fixed it and added test case. Thanks.
Sign in to reply to this message.
http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path.go File src/pkg/path/filepath/path.go (right): http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path.g... src/pkg/path/filepath/path.go:114: } It can result in "C:." which is not correct (one of the symlink test cases has such result) http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path.g... src/pkg/path/filepath/path.go:205: i := strings.IndexRune(path, Separator) Should search for both '/' and '\\' http://codereview.appspot.com/4984050/patch/2019/14017
Sign in to reply to this message.
http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path.go File src/pkg/path/filepath/path.go (right): http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path.g... src/pkg/path/filepath/path.go:114: } If path as "C:", This part won't be passed. On 2011/09/08 08:54:56, jp wrote: > It can result in "C:." which is not correct (one of the symlink test cases has > such result) http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path.g... src/pkg/path/filepath/path.go:205: i := strings.IndexRune(path, Separator) This part won't be passed on windows. see above. On 2011/09/08 08:54:56, jp wrote: > Should search for both '/' and '\\' > http://codereview.appspot.com/4984050/patch/2019/14017
Sign in to reply to this message.
I think we are getting somewhere! Please, change CL description to something simpler, like: >>> path/filepath: make UNC file names work Fixes issue 2201 <<< http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path.go File src/pkg/path/filepath/path.go (right): http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path.g... src/pkg/path/filepath/path.go:45: if unc { Lets get rid of isUNC alltogether. Just do if len(vol) > 0 && vol[1] != ':' { ... http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path_w... File src/pkg/path/filepath/path_windows.go (right): http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path_w... src/pkg/path/filepath/path_windows.go:21: } Do not need these lines. Your tests still pass. http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path_w... src/pkg/path/filepath/path_windows.go:33: func uncVolumeName(path string) string { I don't think you need a separate function for UNC, just put it all inside VolumeName with a small comment. http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path_w... src/pkg/path/filepath/path_windows.go:35: os.IsPathSeparator(path[0]) && os.IsPathSeparator(path[1]) && I don't think you need os package here. Just create: func isSlash(c uint8) bool { return c == '\\' || c == '/' } and use it everywhere. Also, please replace return path[0] == '/' || path[0] == '\\' in IsAbs then. Make it all the same. http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path_w... src/pkg/path/filepath/path_windows.go:70: unc := uncVolumeName(path) Please, move this "is it UNC" code after "drive letter" code. uncVolumeName code will take longer to run, lets try "drive letter" scenario first in the hope that it will succeed and we won't need to check for UNC paths.
Sign in to reply to this message.
http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path.go File src/pkg/path/filepath/path.go (right): http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path.g... src/pkg/path/filepath/path.go:45: if unc { On 2011/09/09 06:20:59, brainman wrote: > Lets get rid of isUNC alltogether. Just do > > if len(vol) > 0 && vol[1] != ':' { > ... Done. http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path_w... File src/pkg/path/filepath/path_windows.go (right): http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path_w... src/pkg/path/filepath/path_windows.go:21: } On 2011/09/09 06:20:59, brainman wrote: > Do not need these lines. Your tests still pass. Done. http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path_w... src/pkg/path/filepath/path_windows.go:33: func uncVolumeName(path string) string { On 2011/09/09 06:20:59, brainman wrote: > I don't think you need a separate function for UNC, just put it all inside > VolumeName with a small comment. Done. http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path_w... src/pkg/path/filepath/path_windows.go:35: os.IsPathSeparator(path[0]) && os.IsPathSeparator(path[1]) && On 2011/09/09 06:20:59, brainman wrote: > I don't think you need os package here. Just create: > > func isSlash(c uint8) bool { > return c == '\\' || c == '/' > } > > and use it everywhere. Also, please replace > > return path[0] == '/' || path[0] == '\\' > > in IsAbs then. Make it all the same. Done. http://codereview.appspot.com/4950051/diff/14011/src/pkg/path/filepath/path_w... src/pkg/path/filepath/path_windows.go:70: unc := uncVolumeName(path) On 2011/09/09 06:20:59, brainman wrote: > Please, move this "is it UNC" code after "drive letter" code. uncVolumeName code > will take longer to run, lets try "drive letter" scenario first in the hope that > it will succeed and we won't need to check for UNC paths. Done.
Sign in to reply to this message.
LGTM after you revert all unnecessary changes. http://codereview.appspot.com/4950051/diff/5009/src/pkg/path/filepath/path_pl... File src/pkg/path/filepath/path_plan9.go (right): http://codereview.appspot.com/4950051/diff/5009/src/pkg/path/filepath/path_pl... src/pkg/path/filepath/path_plan9.go:10: func isUNC(path string) (b bool) { Revert this. http://codereview.appspot.com/4950051/diff/5009/src/pkg/path/filepath/path_un... File src/pkg/path/filepath/path_unix.go (right): http://codereview.appspot.com/4950051/diff/5009/src/pkg/path/filepath/path_un... src/pkg/path/filepath/path_unix.go:10: func isUNC(path string) (b bool) { Revert this.
Sign in to reply to this message.
http://codereview.appspot.com/4950051/diff/5009/src/pkg/path/filepath/path_pl... File src/pkg/path/filepath/path_plan9.go (right): http://codereview.appspot.com/4950051/diff/5009/src/pkg/path/filepath/path_pl... src/pkg/path/filepath/path_plan9.go:10: func isUNC(path string) (b bool) { On 2011/09/09 07:22:37, brainman wrote: > Revert this. Done. http://codereview.appspot.com/4950051/diff/5009/src/pkg/path/filepath/path_un... File src/pkg/path/filepath/path_unix.go (right): http://codereview.appspot.com/4950051/diff/5009/src/pkg/path/filepath/path_un... src/pkg/path/filepath/path_unix.go:10: func isUNC(path string) (b bool) { On 2011/09/09 07:22:37, brainman wrote: > Revert this. Done.
Sign in to reply to this message.
*** Submitted as http://code.google.com/p/go/source/detail?r=bcd8c31b8a8d *** path/filepath: make UNC file names work Fixes issue 2201 R=golang-dev, r, rsc, alex.brainman, robert.hencke, jp CC=golang-dev http://codereview.appspot.com/4950051 Committer: Alex Brainman <alex.brainman@gmail.com>
Sign in to reply to this message.
|