Albirew/nyaa-pantsu
Archivé
1
0
Bifurcation 0
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
nyaa-pantsu/vendor/github.com/anacrolix/torrent/metainfo/nodes.go
akuma06 a41f938cec Add Godep support (#758)
As we have seen, dependencies version can prevent the build. We should
user lock versions on dependencies that we know work:
* Packages are vendored
* Add Godep support
* Added addtional install step in readme
* Fix travis build error
2017-05-26 13:07:22 +02:00

40 lignes
642 o
Go

package metainfo
import (
"fmt"
"net"
"strconv"
"github.com/anacrolix/torrent/bencode"
)
type Node string
var (
_ bencode.Unmarshaler = new(Node)
)
func (n *Node) UnmarshalBencode(b []byte) (err error) {
var iface interface{}
err = bencode.Unmarshal(b, &iface)
if err != nil {
return
}
switch v := iface.(type) {
case string:
*n = Node(v)
case []interface{}:
func() {
defer func() {
r := recover()
if r != nil {
err = r.(error)
}
}()
*n = Node(net.JoinHostPort(v[0].(string), strconv.FormatInt(v[1].(int64), 10)))
}()
default:
err = fmt.Errorf("unsupported type: %T", iface)
}
return
}