From: Sergey Matveev Date: Mon, 23 Jan 2023 07:50:06 +0000 (+0300) Subject: Wrapped errors X-Git-Tag: v2.4.0~1 X-Git-Url: http://www.git.cypherpunks.ru/?p=netstring.git;a=commitdiff_plain;h=db1063cacc062476c517de92da16720aa574ed19 Wrapped errors --- diff --git a/r.go b/r.go index 68a93ca..0c65fd4 100644 --- a/r.go +++ b/r.go @@ -20,6 +20,7 @@ package netstring import ( "bufio" "errors" + "fmt" "io" "strconv" ) @@ -45,11 +46,11 @@ func (r *Reader) Next() (uint64, error) { } lenRaw, err := r.r.ReadSlice(':') if err != nil { - return 0, err + return 0, fmt.Errorf("netstring header: %w", err) } size, err := strconv.ParseUint(string(lenRaw[:len(lenRaw)-1]), 10, 64) if err != nil { - return 0, err + return 0, fmt.Errorf("netstring header: %w", err) } r.left = size r.eof = false @@ -59,10 +60,10 @@ func (r *Reader) Next() (uint64, error) { func (r *Reader) checkTerminator() error { b, err := r.r.ReadByte() if err != nil { - return err + return fmt.Errorf("netstring terminator: %w", err) } if b != ',' { - return errors.New("no terminator found") + return errors.New("netstring terminator: not found") } return nil }