diff --git a/cid.go b/cid.go index 9955b098938310f4be8920430baf2205610d3c03..09f49f5beb0b458d9d3ae3ce415362a2a8926e52 100644 --- a/cid.go +++ b/cid.go @@ -418,12 +418,19 @@ func (c Cid) ByteLen() int { return len(c.str) } -// WriteTo writes the CID bytes to the given writer. +// WriteBytes writes the CID bytes to the given writer. // This method works without incurring any allocation. // // (See also the ByteLen method for other important operations that work without allocation.) -func (c Cid) WriteTo(w io.Writer) (int, error) { - return io.WriteString(w, c.str) +func (c Cid) WriteBytes(w io.Writer) (int, error) { + n, err := io.WriteString(w, c.str) + if err != nil { + return n, err + } + if n != len(c.str) { + return n, fmt.Errorf("failed to write entire cid string") + } + return n, nil } // MarshalBinary is equivalent to Bytes(). It implements the