aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2013-03-28 08:46:17 -0700
committerRobert Griesemer <gri@golang.org>2013-03-28 08:46:17 -0700
commit1a427a697e9fce8bd3a12ae233bc6f751a406b9d (patch)
tree7f75fd8345b73409d4350ca3e878f6c7868db1b3
parentab962c8da2f970cfb62450bf63d6c9e48eaab201 (diff)
downloadgo-1a427a697e9fce8bd3a12ae233bc6f751a406b9d.tar.xz
cmd/godoc: don't crash if there's no documentation
Fixes regression introduced by CL 7860049. R=golang-dev, kamil.kisiel, dave CC=golang-dev https://golang.org/cl/8069044
-rw-r--r--src/cmd/godoc/main.go10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/cmd/godoc/main.go b/src/cmd/godoc/main.go
index ab792c8af0..81e739d20c 100644
--- a/src/cmd/godoc/main.go
+++ b/src/cmd/godoc/main.go
@@ -388,12 +388,12 @@ func main() {
}
// determine what to use
- if info.IsEmpty() {
- if !cinfo.IsEmpty() {
+ if info == nil || info.IsEmpty() {
+ if cinfo != nil && !cinfo.IsEmpty() {
// only cinfo exists - switch to cinfo
info = cinfo
}
- } else if !cinfo.IsEmpty() {
+ } else if cinfo != nil && !cinfo.IsEmpty() {
// both info and cinfo exist - use cinfo if info
// contains only subdirectory information
if info.PAst == nil && info.PDoc == nil {
@@ -403,9 +403,13 @@ func main() {
}
}
+ if info == nil {
+ log.Fatalf("%s: no such directory or package", flag.Arg(0))
+ }
if info.Err != nil {
log.Fatalf("%v", info.Err)
}
+
if info.PDoc != nil && info.PDoc.ImportPath == target {
// Replace virtual /target with actual argument from command line.
info.PDoc.ImportPath = flag.Arg(0)