]> Sergey Matveev's repositories - btrtrc.git/blob - metainfo/urllist.go
Clone the AnnounceList out of Torrent.Metainfo
[btrtrc.git] / metainfo / urllist.go
1 package metainfo
2
3 import (
4         "github.com/anacrolix/torrent/bencode"
5 )
6
7 type UrlList []string
8
9 var (
10         _ bencode.Unmarshaler = (*UrlList)(nil)
11 )
12
13 func (me *UrlList) UnmarshalBencode(b []byte) error {
14         if len(b) == 0 {
15                 return nil
16         }
17         if b[0] == 'l' {
18                 var l []string
19                 err := bencode.Unmarshal(b, &l)
20                 *me = l
21                 return err
22         }
23         var s string
24         err := bencode.Unmarshal(b, &s)
25         *me = []string{s}
26         return err
27 }