]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Decoding bools has been wrong all along, always set to true
authorMatt Joiner <anacrolix@gmail.com>
Tue, 2 Dec 2014 05:28:47 +0000 (23:28 -0600)
committerMatt Joiner <anacrolix@gmail.com>
Tue, 2 Dec 2014 05:28:47 +0000 (23:28 -0600)
bencode/decode.go

index 7db899aefa7be5a9c11cf76ce12ce8cc0ed19abd..e90df6a224b8fe0a2a4f581a97358fe04eed0f08 100644 (file)
@@ -113,10 +113,7 @@ func (d *decoder) parse_int(v reflect.Value) {
                }
                v.SetUint(n)
        case reflect.Bool:
-               if d.buf.Len() == 1 && d.buf.Bytes()[0] == '0' {
-                       v.SetBool(false)
-               }
-               v.SetBool(true)
+               v.SetBool(d.buf.String() != "0")
        default:
                panic(&UnmarshalTypeError{
                        Value: "integer " + d.buf.String(),