Should fix test failures in CI.
return false
}
-func (al AnnounceList) DistinctValues() (ret map[string]struct{}) {
+func (al AnnounceList) DistinctValues() (ret []string) {
+ seen := make(map[string]struct{})
for _, tier := range al {
for _, v := range tier {
- if ret == nil {
- ret = make(map[string]struct{})
+ if _, ok := seen[v]; !ok {
+ seen[v] = struct{}{}
+ ret = append(ret, v)
}
- ret[v] = struct{}{}
}
}
return
// Creates a Magnet from a MetaInfo. Optional infohash and parsed info can be provided.
func (mi *MetaInfo) Magnet(infoHash *Hash, info *Info) (m Magnet) {
- for t := range mi.UpvertedAnnounceList().DistinctValues() {
+ for _, t := range mi.UpvertedAnnounceList().DistinctValues() {
m.Trackers = append(m.Trackers, t)
}
if info != nil {