From b02b629fe982e341d1ddc75fa5907d0e78534568 Mon Sep 17 00:00:00 2001 From: James Mills Date: Fri, 23 Sep 2016 21:34:53 +1000 Subject: [PATCH] Improve support for bad servers and hand-written/broken Gopher menus --- gopher.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gopher.go b/gopher.go index 6f2b9a2..859029f 100644 --- a/gopher.go +++ b/gopher.go @@ -197,7 +197,11 @@ func (i *Item) parse(line []byte) error { port, err := strconv.Atoi(string(parts[3])) if err != nil { - return err + // Ignore parsing errors for bad servers for INFO types + if i.Type != INFO { + return err + } + port = 0 } i.Port = port @@ -379,7 +383,8 @@ func (i *Item) FetchDirectory() (Directory, error) { var i Item err := i.parse(line) if err != nil { - return d, err + log.Printf("Error parsing %q: %q", line, err) + continue } d = append(d, i) }