]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Quick fix for missing MetaInfo.Announce everywhere with trackers
authorMatt Joiner <anacrolix@gmail.com>
Mon, 13 Feb 2017 11:28:42 +0000 (22:28 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Mon, 13 Feb 2017 11:28:42 +0000 (22:28 +1100)
metainfo/metainfo.go
t.go
torrent.go

index decfc3a001aac6fa6ee53efcb4d0ff261a79d6fb..14ff8d0470ef5a0200fd238815570266a513bc86 100644 (file)
@@ -78,3 +78,18 @@ func (mi *MetaInfo) Magnet(displayName string, infoHash Hash) (m Magnet) {
        m.InfoHash = infoHash
        return
 }
+
+func (mi *MetaInfo) FlatTrackers() (ret []string) {
+       m := make(map[string]struct{})
+       for _, t := range mi.AnnounceList {
+               for _, s := range t {
+                       m[s] = struct{}{}
+               }
+       }
+       m[mi.Announce] = struct{}{}
+       ret = make([]string, 0, len(m))
+       for s := range m {
+               ret = append(ret, s)
+       }
+       return
+}
diff --git a/t.go b/t.go
index ed810a5fd08d98d3d1f50babbc1063105d7c851e..e6d231ca70d3cbe3bbb29350c7927f4e0ada8a75 100644 (file)
--- a/t.go
+++ b/t.go
@@ -197,8 +197,8 @@ func (t *Torrent) String() string {
        return s
 }
 
-func (t *Torrent) AddTrackers(announceList [][]string) {
+func (t *Torrent) AddTrackers(urls []string) {
        t.cl.mu.Lock()
        defer t.cl.mu.Unlock()
-       t.addTrackers(announceList)
+       t.addTrackers([][]string{urls})
 }
index 929e0bc6454d1956f2529614d4c17211ac74a3dc..d515bc95fb77ed25df1c25786e6238055c6fad09 100644 (file)
@@ -1354,7 +1354,7 @@ func (t *Torrent) pieceHashed(piece int, correct bool) {
                if correct {
                        pieceHashedCorrect.Add(1)
                } else {
-                       log.Printf("%s: piece %d (%x) failed hash: %d connections contributed", t, piece, p.Hash, len(touchers))
+                       log.Printf("%s: piece %d (%v) failed hash: %d connections contributed", t, piece, p.Hash, len(touchers))
                        pieceHashedNotCorrect.Add(1)
                }
        }