aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--cmd/hakurei/parse.go15
1 files changed, 6 insertions, 9 deletions
diff --git a/cmd/hakurei/parse.go b/cmd/hakurei/parse.go
index f93ac6eb..4a24c90a 100644
--- a/cmd/hakurei/parse.go
+++ b/cmd/hakurei/parse.go
@@ -16,7 +16,7 @@ import (
)
func tryPath(msg message.Msg, name string) (config *hst.Config) {
- var r io.Reader
+ var r io.ReadCloser
config = new(hst.Config)
if name != "-" {
@@ -25,23 +25,20 @@ func tryPath(msg message.Msg, name string) (config *hst.Config) {
msg.Verbose("load configuration from file")
if f, err := os.Open(name); err != nil {
- log.Fatalf("cannot access configuration file %q: %s", name, err)
+ log.Fatal(err.Error())
+ return
} else {
- // finalizer closes f
r = f
}
- } else {
- defer func() {
- if err := r.(io.ReadCloser).Close(); err != nil {
- log.Printf("cannot close config fd: %v", err)
- }
- }()
}
} else {
r = os.Stdin
}
decodeJSON(log.Fatal, "load configuration", r, &config)
+ if err := r.Close(); err != nil {
+ log.Fatal(err.Error())
+ }
return
}