From 3050baa15a167c3a1974b1002792a1185756ef89 Mon Sep 17 00:00:00 2001 From: Mechiel Lukkien Date: Sat, 1 Mar 2025 08:43:53 +0100 Subject: [PATCH] consistently use store.CloseRemoveTempFile for closing and removing temp files --- store/import.go | 7 +------ webaccount/import.go | 10 ++-------- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/store/import.go b/store/import.go index f77e116..dbce333 100644 --- a/store/import.go +++ b/store/import.go @@ -6,7 +6,6 @@ import ( "errors" "fmt" "io" - "log/slog" "os" "path/filepath" "strconv" @@ -270,11 +269,7 @@ func (mr *MaildirReader) Next() (*Message, *os.File, string, error) { } defer func() { if f != nil { - name := f.Name() - err := f.Close() - mr.log.Check(err, "closing temporary message file after maildir read error") - err = os.Remove(name) - mr.log.Check(err, "removing temporary message file after maildir read error", slog.String("path", name)) + CloseRemoveTempFile(mr.log, f, "maildir temp message file") } }() diff --git a/webaccount/import.go b/webaccount/import.go index 158c4b1..ba230a0 100644 --- a/webaccount/import.go +++ b/webaccount/import.go @@ -385,7 +385,7 @@ func importMessages(ctx context.Context, log mlog.Log, token string, acc *store. // For maildirs, we are likely to get a possible dovecot-keywords file after having // imported the messages. Once we see the keywords, we use them. But before that - // time we remember which messages miss a keywords. Once the keywords become + // time we remember which messages miss keywords. Once the keywords become // available, we'll fix up the flags for the unknown messages mailboxKeywords := map[string]map[rune]string{} // Mailbox to 'a'-'z' to flag name. mailboxMissingKeywordMessages := map[string]map[int64]string{} // Mailbox to message id to string consisting of the unrecognized flags. @@ -501,13 +501,7 @@ func importMessages(ctx context.Context, log mlog.Log, token string, acc *store. } xdeliver := func(mb store.Mailbox, m *store.Message, f *os.File, pos string) { - defer func() { - name := f.Name() - err = f.Close() - log.Check(err, "closing temporary message file for delivery") - err := os.Remove(name) - log.Check(err, "removing temporary message file for delivery") - }() + defer store.CloseRemoveTempFile(log, f, "message file for import") m.MailboxID = mb.ID m.MailboxOrigID = mb.ID