1
0
mirror of https://github.com/golang/go synced 2024-09-25 13:20:13 -06:00

don't report a couple of meaningless errors in command-line mode

R=rsc
CC=golang-dev
https://golang.org/cl/199045
This commit is contained in:
Robert Griesemer 2010-02-01 16:13:58 -08:00
parent d2fc5d68da
commit e37495368c
2 changed files with 8 additions and 7 deletions

View 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" {

View 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 {