From dc3eb7d9ef414d72dbae37fde3c9f6fc82af082c Mon Sep 17 00:00:00 2001 From: nxshock Date: Sat, 8 Apr 2023 14:01:44 +0500 Subject: [PATCH] Remove uncompleted file on any error --- index.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/index.go b/index.go index 9ce9947..f613319 100644 --- a/index.go +++ b/index.go @@ -62,7 +62,8 @@ func (index Index) Save(fileName string) error { enc, err := zstd.NewWriter(f, zstd.WithEncoderLevel(zstd.SpeedBestCompression)) if err != nil { - f.Close() // TODO: удалить частичный файл? + f.Close() + os.Remove(fileName) return err } @@ -82,7 +83,8 @@ func (index Index) Save(fileName string) error { err := csvWriter.Write([]string{fileName, historyItem.ArchiveFileName, strconv.Itoa(int(historyItem.ModificationTime.Unix()))}) if err != nil { enc.Close() - f.Close() // TODO: удалить частичный файл? + f.Close() + os.Remove(fileName) return err } } @@ -91,13 +93,15 @@ func (index Index) Save(fileName string) error { csvWriter.Flush() if err := csvWriter.Error(); err != nil { enc.Close() - f.Close() // TODO: удалить частичный файл? + f.Close() + os.Remove(fileName) return err } err = enc.Close() if err != nil { - f.Close() // TODO: удалить частичный файл? + f.Close() + os.Remove(fileName) return err }