aboutsummaryrefslogtreecommitdiff
path: root/bencode/bdecode.go
diff options
context:
space:
mode:
Diffstat (limited to 'bencode/bdecode.go')
-rw-r--r--bencode/bdecode.go11
1 files changed, 10 insertions, 1 deletions
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++