From e022ffce0f9bd6cc2f07299148acdd99a88da279 Mon Sep 17 00:00:00 2001 From: Joanna Marek Date: Sun, 16 Sep 2018 11:08:24 +0000 Subject: [PATCH] accounting: change too long names cutting mechanism - fixes #2490 --- fs/accounting/accounting.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fs/accounting/accounting.go b/fs/accounting/accounting.go index 398588d72..ef12c286e 100644 --- a/fs/accounting/accounting.go +++ b/fs/accounting/accounting.go @@ -256,11 +256,14 @@ func (acc *Account) String() string { etas = "0s" } } + name := []rune(acc.name) if fs.Config.StatsFileNameLength > 0 { if len(name) > fs.Config.StatsFileNameLength { - where := len(name) - fs.Config.StatsFileNameLength - name = append([]rune{'.', '.', '.'}, name[where:]...) + suffixLength := fs.Config.StatsFileNameLength / 2 + prefixLength := fs.Config.StatsFileNameLength - suffixLength + suffixStart := len(name) - suffixLength + name = append(append(name[:prefixLength], '…'), name[suffixStart:]...) } }