]> Cypherpunks repositories - gostls13.git/commitdiff
don't report a couple of meaningless errors in command-line mode
authorRobert Griesemer <gri@golang.org>
Tue, 2 Feb 2010 00:13:58 +0000 (16:13 -0800)
committerRobert Griesemer <gri@golang.org>
Tue, 2 Feb 2010 00:13:58 +0000 (16:13 -0800)
R=rsc
CC=golang-dev
https://golang.org/cl/199045

src/cmd/godoc/godoc.go
src/cmd/godoc/main.go

index 0ec85991e53a80e5a289e6d007fd858a6b1d85be..b49487e5b89c0e32a1875fe7214429efa4b1abbc 100644 (file)
@@ -1036,12 +1036,13 @@ type httpHandler struct {
 }
 
 
-// getPageInfo returns the PageInfo for a given package directory.
+// getPageInfo returns the PageInfo for a package directory path. If the
+// parameter try is true, no errors are logged if getPageInfo fails.
 // If there is no corresponding package in the directory,
 // PageInfo.PDoc is nil. If there are no subdirectories,
 // PageInfo.Dirs is nil.
 //
-func (h *httpHandler) getPageInfo(path string) PageInfo {
+func (h *httpHandler) getPageInfo(path string, try bool) PageInfo {
        // the path is relative to h.fsroot
        dirname := pathutil.Join(h.fsRoot, path)
 
@@ -1066,11 +1067,11 @@ func (h *httpHandler) getPageInfo(path string) PageInfo {
 
        // get package AST
        pkgs, err := parser.ParseDir(dirname, filter, parser.ParseComments)
-       if err != nil {
+       if err != nil && !try {
                // TODO: errors should be shown instead of an empty directory
                log.Stderrf("parser.parseDir: %s", err)
        }
-       if len(pkgs) != 1 {
+       if len(pkgs) != 1 && !try {
                // TODO: should handle multiple packages
                log.Stderrf("parser.parseDir: found %d packages", len(pkgs))
        }
@@ -1110,7 +1111,7 @@ func (h *httpHandler) ServeHTTP(c *http.Conn, r *http.Request) {
 
        path := r.URL.Path
        path = path[len(h.pattern):]
-       info := h.getPageInfo(path)
+       info := h.getPageInfo(path, false)
 
        var buf bytes.Buffer
        if r.FormValue("f") == "text" {
index 701cd006e2c8b1af2da02b94bbb811824b380457..7a3b9f384a10605a750d36cb83c5c631bc3c9e3b 100644 (file)
@@ -220,11 +220,11 @@ func main() {
                packageText = packageHTML
        }
 
-       info := pkgHandler.getPageInfo(flag.Arg(0))
+       info := pkgHandler.getPageInfo(flag.Arg(0), true)
 
        if info.PDoc == nil && info.Dirs == nil {
                // try again, this time assume it's a command
-               info = cmdHandler.getPageInfo(flag.Arg(0))
+               info = cmdHandler.getPageInfo(flag.Arg(0), false)
        }
 
        if info.PDoc != nil && flag.NArg() > 1 {