blob: 26539530a97676ad272d093f7c4ff5bb807a449b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
--- a/src/cmd/godoc/filesystem.go
+++ b/src/cmd/godoc/filesystem.go
@@ -121,7 +121,22 @@
}
func (root osFS) ReadDir(path string) ([]os.FileInfo, error) {
- return ioutil.ReadDir(root.resolve(path)) // is sorted
+ dirName := root.resolve(path)
+ fis, err := ioutil.ReadDir(dirName) // is sorted
+ if err != nil {
+ return nil, err
+ }
+ // Replace symlinks with what they are pointing to
+ for i, fi := range fis {
+ if fi.Mode()&os.ModeSymlink != 0 {
+ fi, err = os.Stat(filepath.Join(dirName, fi.Name()))
+ if err != nil {
+ return nil, err
+ }
+ }
+ fis[i] = fi
+ }
+ return fis, nil
}
// hasPathPrefix returns true if x == y or x == y + "/" + more
|