]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Revert "bencode: Trailing bytes on Unmarshal is an error"
authorMatt Joiner <anacrolix@gmail.com>
Sun, 23 Aug 2015 09:10:22 +0000 (19:10 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Sun, 23 Aug 2015 09:10:22 +0000 (19:10 +1000)
This reverts commit ad73a0ea8958ed6cb15513798762be65e5c29568.

bencode/api.go

index a17d182037adccf4df013852b3af888283708d63..b4ddcec983dd87a83e38f26bc4c50c552972f40b 100644 (file)
@@ -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)
 }
 
 //----------------------------------------------------------------------------