From 2d34bd675d96ac190d91890f641ee031091183f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Wed, 23 Nov 2016 13:32:43 +0000 Subject: [PATCH] cmd/fdroidcl: report created file Close error --- cmd/fdroidcl/defaults.go | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/cmd/fdroidcl/defaults.go b/cmd/fdroidcl/defaults.go index 80c32ce..7c427f2 100644 --- a/cmd/fdroidcl/defaults.go +++ b/cmd/fdroidcl/defaults.go @@ -5,6 +5,7 @@ package main import ( "encoding/json" + "fmt" "log" "os" ) @@ -20,22 +21,25 @@ func init() { func runDefaults(args []string) { if len(args) > 0 { - log.Fatalf("No arguments allowed") + log.Fatal("No arguments allowed") + } + if err := writeConfig(&config); err != nil { + log.Fatal(err) } - writeConfig(&config) } -func writeConfig(c *userConfig) { - f, err := os.Create(configPath()) +func writeConfig(c *userConfig) error { + b, err := json.MarshalIndent(c, "", "\t") if err != nil { - log.Fatalf("Error when creating config file: %v", err) + return fmt.Errorf("cannot encode config: %v", err) } - defer f.Close() - b, err := json.MarshalIndent(c, "", "\t") + f, err := os.Create(configPath()) if err != nil { - log.Fatalf("Error when encoding config file: %v", err) + return fmt.Errorf("cannot create config file: %v", err) } - if _, err := f.Write(b); err != nil { - log.Fatalf("Error when writing config file: %v", err) + _, err = f.Write(b) + if cerr := f.Close(); err == nil { + err = cerr } + return err }