diff --git a/main.go b/main.go index 8ab63bb..1cbe939 100644 --- a/main.go +++ b/main.go @@ -2,6 +2,7 @@ package main import ( "flag" + "fmt" "log" "os" "os/signal" @@ -16,7 +17,8 @@ func main() { flag.Parse() if err := storage.Init(); err != nil { - return + _, _ = fmt.Fprintf(os.Stderr, "error while reading entries\n") + os.Exit(1) } signal.Ignore(syscall.SIGHUP) diff --git a/storage/storage.go b/storage/storage.go index 2a6ea9e..1271ac6 100644 --- a/storage/storage.go +++ b/storage/storage.go @@ -8,15 +8,15 @@ import ( ) type Storage struct { - Result Result `json:"VoteResult"` + Result Result `json:"vote_result"` IpSet map[string]bool `json:"ip_set"` } func Init() error { go autoSave() - file, err := os.Open("VoteResult.json") + file, err := os.Open("result.json") if err != nil { - if f, err := os.Create("VoteResult.json"); err == nil { + if f, err := os.Create("result.json"); err == nil { _ = f.Close() } else { return err @@ -25,11 +25,18 @@ func Init() error { } defer file.Close() decoder := json.NewDecoder(file) - return decoder.Decode(&VoteResult) + var storage Storage + if err := decoder.Decode(&storage); err != nil { + return err + } else { + VoteResult = storage.Result + ipSet = storage.IpSet + return nil + } } func Save() error { - file, err := os.Create("VoteResult.json") + file, err := os.Create("result.json") if err != nil { return err }