refactor(cmd): handle errors from file.Close()

Amolith created

Change summary

cmd/willow.go | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

Detailed changes

cmd/willow.go 🔗

@@ -155,7 +155,6 @@ Listen = "%s"`, defaultDBConn, defaultFetchInterval, defaultFetchInterval, defau
 			if err != nil {
 				return err
 			}
-			defer file.Close()
 
 			_, err = file.WriteString(defaultConfig)
 			if err != nil {
@@ -164,18 +163,26 @@ Listen = "%s"`, defaultDBConn, defaultFetchInterval, defaultFetchInterval, defau
 
 			fmt.Println("Config file created at", *flagConfig)
 			fmt.Println("Please edit it and restart the server")
+			err = file.Close()
+			if err != nil {
+				return err
+			}
 			os.Exit(0)
 		} else {
 			return err
 		}
 	}
-	defer file.Close()
 
 	_, err = toml.DecodeFile(*flagConfig, &config)
 	if err != nil {
 		return err
 	}
 
+	err = file.Close()
+	if err != nil {
+		return err
+	}
+
 	if config.FetchInterval < defaultFetchInterval {
 		fmt.Println("Fetch interval is set to", strconv.Itoa(config.FetchInterval), "seconds, but the minimum is", defaultFetchInterval, "seconds, using", strconv.Itoa(defaultFetchInterval)+"s")
 		config.FetchInterval = defaultFetchInterval