aboutsummaryrefslogtreecommitdiff
path: root/bencode/bencode.go
diff options
context:
space:
mode:
Diffstat (limited to 'bencode/bencode.go')
-rw-r--r--bencode/bencode.go8
1 files changed, 4 insertions, 4 deletions
diff --git a/bencode/bencode.go b/bencode/bencode.go
index 2521287..db980f7 100644
--- a/bencode/bencode.go
+++ b/bencode/bencode.go
@@ -168,14 +168,14 @@ func (d *decodeState) unmarshalDict(v reflect.Value) {
for d.data[d.off] != 'e' {
key, n := parseString(d.data[d.off:])
d.off += n
- var has bool
+ var found bool
if v.CanSet() {
t := v.Type()
for i := 0; i < t.NumField(); i++ {
f := t.Field(i)
tag := f.Tag.Get("bencode")
name, _ := parseTag(tag)
- if name == key || f.Name == key {
+ if key == name || key == f.Name || key == strings.ToLower(f.Name) {
if key == "info" {
infoOff = d.off
}
@@ -183,12 +183,12 @@ func (d *decodeState) unmarshalDict(v reflect.Value) {
if key == "info" {
infoEnd = d.off
}
- has = true
+ found = true
break
}
}
}
- if !has {
+ if !found {
d.unmarshalField(reflect.Value{})
}
}