From: Matt Joiner Date: Sun, 23 Aug 2015 09:10:22 +0000 (+1000) Subject: Revert "bencode: Trailing bytes on Unmarshal is an error" X-Git-Tag: v1.0.0~1050 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=577ea21793e206adcc55d74789d72335c9f37e7e;p=btrtrc.git Revert "bencode: Trailing bytes on Unmarshal is an error" This reverts commit ad73a0ea8958ed6cb15513798762be65e5c29568. --- diff --git a/bencode/api.go b/bencode/api.go index a17d1820..b4ddcec9 100644 --- a/bencode/api.go +++ b/bencode/api.go @@ -3,7 +3,6 @@ package bencode import ( "bufio" "bytes" - "errors" "fmt" "io" "reflect" @@ -128,23 +127,9 @@ func Marshal(v interface{}) ([]byte, error) { // Unmarshal the bencode value in the 'data' to a value pointed by the 'v' // pointer, return a non-nil error if any. -func Unmarshal(data []byte, v interface{}) (err error) { +func Unmarshal(data []byte, v interface{}) error { e := decoder{Reader: bufio.NewReader(bytes.NewBuffer(data))} - err = e.decode(v) - if err != nil { - return - } - _, err = e.Reader.ReadByte() - if err == io.EOF { - return nil - } - if err == nil { - err = &SyntaxError{ - Offset: e.offset, - What: errors.New("trailing bytes"), - } - } - return + return e.decode(v) } //----------------------------------------------------------------------------