io.go 322 B

12345678910111213141516
  1. package internal
  2. import "errors"
  3. // DiscardZeroes makes sure that all written bytes are zero
  4. // before discarding them.
  5. type DiscardZeroes struct{}
  6. func (DiscardZeroes) Write(p []byte) (int, error) {
  7. for _, b := range p {
  8. if b != 0 {
  9. return 0, errors.New("encountered non-zero byte")
  10. }
  11. }
  12. return len(p), nil
  13. }