in backend/analyzer/Filters.go [104:126]
func sortName(filename string) string {
name := filename
// split numeric suffix
i := len(name) - 1
for ; i >= 0; i-- {
if '0' > name[i] || name[i] > '9' {
break
}
}
i++
// string numeric suffix to uint64 bytes
// empty string is zero, so integers are plus one
b64 := make([]byte, 64/8)
s64 := name[i:]
if len(s64) > 0 {
u64, err := strconv.ParseUint(s64, 10, 64)
if err == nil {
binary.BigEndian.PutUint64(b64, u64+1)
}
}
// prefix + numeric-suffix
return name[:i] + string(b64)
}