]> Sergey Matveev's repositories - btrtrc.git/commitdiff
bencode: Rethrow non-errors during encoding
authorMatt Joiner <anacrolix@gmail.com>
Fri, 23 Oct 2015 01:36:47 +0000 (12:36 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Fri, 23 Oct 2015 01:36:47 +0000 (12:36 +1100)
bencode/encode.go

index c6726edff2a8cb8a01adea16de75e0a0954c3d9d..18793ea2cd51307f7c475027cb63b7532ccf8d8b 100644 (file)
@@ -41,7 +41,11 @@ func (e *encoder) encode(v interface{}) (err error) {
                        if _, ok := e.(runtime.Error); ok {
                                panic(e)
                        }
-                       err = e.(error)
+                       var ok bool
+                       err, ok = e.(error)
+                       if !ok {
+                               panic(e)
+                       }
                }
        }()
        e.reflect_value(reflect.ValueOf(v))