diff options
Diffstat (limited to 'debian/patches/godoc-symlinks.diff')
-rw-r--r-- | debian/patches/godoc-symlinks.diff | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/debian/patches/godoc-symlinks.diff b/debian/patches/godoc-symlinks.diff new file mode 100644 index 000000000..d8a1150ab --- /dev/null +++ b/debian/patches/godoc-symlinks.diff @@ -0,0 +1,26 @@ +--- a/src/cmd/godoc/filesystem.go ++++ b/src/cmd/godoc/filesystem.go +@@ -121,7 +121,22 @@ func (root osFS) Stat(path string) (os.F + } + + func (root osFS) ReadDir(path string) ([]os.FileInfo, error) { +- return ioutil.ReadDir(root.resolve(path)) // is sorted ++ fis, err := ioutil.ReadDir(path) // is sorted ++ if err != nil { ++ return nil, err ++ } ++ // Replace symlinks with what they are pointing to ++ dirPrefix := path + "/" ++ for i, fi := range fis { ++ if fi.Mode() & os.ModeSymlink != 0 { ++ fi, err = os.Stat(dirPrefix + fi.Name()) ++ if err != nil { ++ return nil, err ++ } ++ } ++ fis[i] = fi ++ } ++ return fis, nil + } + + // hasPathPrefix returns true if x == y or x == y + "/" + more |