diff --git a/cmd/micro/buffer.go b/cmd/micro/buffer.go index d0dda6ef..6d0c641b 100644 --- a/cmd/micro/buffer.go +++ b/cmd/micro/buffer.go @@ -220,6 +220,7 @@ func NewBuffer(reader io.Reader, size int64, path string) *Buffer { // If either savecursor or saveundo is turned on, we need to load the serialized information // from ~/.config/micro/buffers file, err := os.Open(configDir + "/buffers/" + EscapePath(b.AbsPath)) + defer file.Close() if err == nil { var buffer SerializedBuffer decoder := gob.NewDecoder(file) @@ -242,7 +243,6 @@ func NewBuffer(reader io.Reader, size int64, path string) *Buffer { } } } - file.Close() } if !b.Settings["fastdirty"].(bool) { @@ -505,6 +505,7 @@ func (b *Buffer) SaveAs(filename string) error { } f, err := os.OpenFile(absFilename, os.O_WRONLY|os.O_CREATE, 0644) + defer f.Close() if err != nil { return err } diff --git a/cmd/micro/messenger.go b/cmd/micro/messenger.go index 29f96e38..b55557af 100644 --- a/cmd/micro/messenger.go +++ b/cmd/micro/messenger.go @@ -604,11 +604,11 @@ func (m *Messenger) Display() { func (m *Messenger) LoadHistory() { if GetGlobalOption("savehistory").(bool) { file, err := os.Open(configDir + "/buffers/history") + defer file.Close() var decodedMap map[string][]string if err == nil { decoder := gob.NewDecoder(file) err = decoder.Decode(&decodedMap) - file.Close() if err != nil { m.Error("Error loading history:", err) @@ -638,6 +638,7 @@ func (m *Messenger) SaveHistory() { } file, err := os.Create(configDir + "/buffers/history") + defer file.Close() if err == nil { encoder := gob.NewEncoder(file) @@ -646,7 +647,6 @@ func (m *Messenger) SaveHistory() { m.Error("Error saving history:", err) return } - file.Close() } } }