From da8efae9fe6a3d5f5e6dffc2c70c835fa6724cbb Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Mon, 12 Mar 2012 13:10:37 -0400 Subject: [PATCH] cmd/godoc: fix directory read Undo CL 5783076 and apply correct fix. The /doc hack is wrong. The code to handle this case was already there and just needs a simple fix: // We didn't find any directories containing Go files. // If some directory returned successfully, use that. - if len(all) == 0 && first != nil { + if !haveGo { for _, d := range first { haveName[d.Name()] = true all = append(all, d) R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/5783079 --- src/cmd/godoc/filesystem.go | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/cmd/godoc/filesystem.go b/src/cmd/godoc/filesystem.go index 869e23ca252..e7092ff287a 100644 --- a/src/cmd/godoc/filesystem.go +++ b/src/cmd/godoc/filesystem.go @@ -420,17 +420,11 @@ func (ns nameSpace) ReadDir(path string) ([]os.FileInfo, error) { first = dir } - useFiles := false - - // Always include all files under /doc. - if path == "/doc" || strings.HasPrefix(path, "/doc/") { - useFiles = true // always include docs - } - // If we don't yet have Go files in 'all' and this directory // has some, add all the files from this directory. // Otherwise, only add subdirectories. - if !useFiles && !haveGo { + useFiles := false + if !haveGo { for _, d := range dir { if strings.HasSuffix(d.Name(), ".go") { useFiles = true @@ -451,10 +445,12 @@ func (ns nameSpace) ReadDir(path string) ([]os.FileInfo, error) { // We didn't find any directories containing Go files. // If some directory returned successfully, use that. - if len(all) == 0 && first != nil { + if !haveGo { for _, d := range first { - haveName[d.Name()] = true - all = append(all, d) + if !haveName[d.Name()] { + haveName[d.Name()] = true + all = append(all, d) + } } }