diff options
author | 2023-08-02 17:21:46 +0200 | |
---|---|---|
committer | 2023-08-02 17:21:46 +0200 | |
commit | e8a20f587c0b0129bc68f5c6092c54f2b4c3519a (patch) | |
tree | 3677b4abec2cabf3b5042115ba76505daf5fddf3 /internal/cleaner/cleaner.go | |
parent | [bugfix] fix slow accounts / statuses using emojis lookups (#2056) (diff) | |
download | gotosocial-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.go | 10 |
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 { |