From e4b008b534de791b10864cbb4cab34fcee471c34 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Mon, 18 Jul 2016 00:51:43 +0200 Subject: wip, broken --- bencode/bdecode.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'bencode') diff --git a/bencode/bdecode.go b/bencode/bdecode.go index 19f2a12..837dbec 100644 --- a/bencode/bdecode.go +++ b/bencode/bdecode.go @@ -56,7 +56,16 @@ func (d *decodeState) unmarshalDict(v reflect.Value) error { for d.data[d.off] != 'e' { key, n := parseString(d.data[d.off:]) d.off += n - d.unmarshalField(findKey(key, v)) + val := findKey(key, v) + /* + if val.CanAddr() && val.Addr().Type().NumMethod() > 0 { + if u, ok := val.Addr().Interface().(Unmarshaler); ok { + u.UnmarshalBencode(d.data[d.off:]) + log.Println("has unmarshaler", u) + } + } + */ + d.unmarshalField(val) } d.off++ -- cgit v1.2.3