diff --git a/conf_test.go b/conf_test.go index 51b6aae..073235b 100644 --- a/conf_test.go +++ b/conf_test.go @@ -15,7 +15,8 @@ active = false [service-1] port = 443 -url = http://%(host)s/something` +url = http://%(host)s/something +` type stringtest struct { section string diff --git a/read.go b/read.go index 644c59a..b7a83e7 100644 --- a/read.go +++ b/read.go @@ -49,11 +49,18 @@ func (c *ConfigFile) Read(reader io.Reader) (err os.Error) { section = "default" for { l, buferr := buf.ReadString('\n') // parse line-by-line - if buferr != nil && buferr != os.EOF { - return err + l = strings.TrimSpace(l) + + if buferr != nil { + if buferr != os.EOF { + return err + } + + if len(l) == 0 { + break + } } - l = strings.TrimSpace(l) // switch written for readability (not performance) switch { case len(l) == 0: // empty line