aboutsummaryrefslogtreecommitdiff
path: root/bencode/bencode.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-06-12 07:10:39 +0200
committerDimitri Sokolyuk <demon@dim13.org>2016-06-12 07:10:39 +0200
commit92b93449373418da481369078208bd8630d67c41 (patch)
tree27c931c21788abb1f95697f75c0f08a724e0a42f /bencode/bencode.go
parentda795ea9b35368a97d63ffe3e1b6866bec23727c (diff)
Add bool values
Diffstat (limited to 'bencode/bencode.go')
-rw-r--r--bencode/bencode.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/bencode/bencode.go b/bencode/bencode.go
index 58527a0..dd8a23c 100644
--- a/bencode/bencode.go
+++ b/bencode/bencode.go
@@ -36,6 +36,12 @@ func marshalField(out io.Writer, v reflect.Value) error {
marshalList(out, v)
case reflect.Struct:
marshalDict(out, v)
+ case reflect.Bool:
+ if v.Bool() {
+ marshalInt(out, 1)
+ } else {
+ marshalInt(out, 0)
+ }
}
return nil
}
@@ -229,6 +235,8 @@ func (d *decodeState) unmarshalInt(v reflect.Value) {
case time.Time:
t := time.Unix(i, 0)
v.Set(reflect.ValueOf(t))
+ case bool:
+ v.SetBool(i == 1)
default:
v.SetInt(i)
}