Browse Source

cmd/fdroidcl: report created file Close error

pull/21/head
Daniel Martí 9 years ago
parent
commit
2d34bd675d
  1. 24
      cmd/fdroidcl/defaults.go

24
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
}

Loading…
Cancel
Save