summaryrefslogtreecommitdiff
path: root/internal/cleaner/cleaner.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2023-08-02 17:21:46 +0200
committerLibravatar GitHub <noreply@github.com>2023-08-02 17:21:46 +0200
commite8a20f587c0b0129bc68f5c6092c54f2b4c3519a (patch)
tree3677b4abec2cabf3b5042115ba76505daf5fddf3 /internal/cleaner/cleaner.go
parent[bugfix] fix slow accounts / statuses using emojis lookups (#2056) (diff)
downloadgotosocial-e8a20f587c0b0129bc68f5c6092c54f2b4c3519a.tar.xz
[bugfix] Rework MultiError to wrap + unwrap errors properly (#2057)
* rework multierror a bit * test multierror
Diffstat (limited to 'internal/cleaner/cleaner.go')
-rw-r--r--internal/cleaner/cleaner.go10
1 files changed, 7 insertions, 3 deletions
diff --git a/internal/cleaner/cleaner.go b/internal/cleaner/cleaner.go
index 70497c10e..31766bae6 100644
--- a/internal/cleaner/cleaner.go
+++ b/internal/cleaner/cleaner.go
@@ -83,19 +83,23 @@ func (c *Cleaner) removeFiles(ctx context.Context, files ...string) (int, error)
return len(files), nil
}
- var errs gtserror.MultiError
+ var (
+ errs gtserror.MultiError
+ errCount int
+ )
for _, path := range files {
// Remove each provided storage path.
log.Debugf(ctx, "removing file: %s", path)
err := c.state.Storage.Delete(ctx, path)
if err != nil && !errors.Is(err, storage.ErrNotFound) {
- errs.Appendf("error removing %s: %v", path, err)
+ errs.Appendf("error removing %s: %w", path, err)
+ errCount++
}
}
// Calculate no. files removed.
- diff := len(files) - len(errs)
+ diff := len(files) - errCount
// Wrap the combined error slice.
if err := errs.Combine(); err != nil {