Commit 75caa6bd authored by Jeromy's avatar Jeromy

avoid calling the method WriteTo if we don't satisfy its contract

parent c1c89c20
...@@ -418,12 +418,19 @@ func (c Cid) ByteLen() int { ...@@ -418,12 +418,19 @@ func (c Cid) ByteLen() int {
return len(c.str) 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. // This method works without incurring any allocation.
// //
// (See also the ByteLen method for other important operations that work without allocation.) // (See also the ByteLen method for other important operations that work without allocation.)
func (c Cid) WriteTo(w io.Writer) (int, error) { func (c Cid) WriteBytes(w io.Writer) (int, error) {
return io.WriteString(w, c.str) 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 // MarshalBinary is equivalent to Bytes(). It implements the
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment