compress.go
func WriteGunzip(w io.Writer, p []byte) (int, error) {
	r := &byteSliceReader{p}
	zr, err := acquireGzipReader(r)
	if err != nil {
		return 0, err
	}
	n, err := copyZeroAlloc(w, zr)
	releaseGzipReader(zr)
	nn := int(n)
	if int64(nn) != n {
		return 0, fmt.Errorf("too much data gunzipped: %d", n)
	}
	return nn, err
}
func WriteGunzip(w io.Writer, p []byte) (int, error) {
	r := &byteSliceReader{p}
	zr, err := acquireGzipReader(r)
	if err != nil {
		return 0, err
	}
	n, err := copyZeroAlloc(w, zr)
	releaseGzipReader(zr)
	nn := int(n)
	if int64(nn) != n {
		return 0, fmt.Errorf("too much data gunzipped: %d", n)
	}
	return nn, err
}
func WriteGunzip ( w io . Writer , p [ ] byte ) ( int , error ) { r := & byteSliceReader { p } zr , err := acquireGzipReader ( r ) if err != nil { return 0 , err } n , err := copyZeroAlloc ( w , zr ) releaseGzipReader ( zr ) nn := int ( n ) if int64 ( nn ) != n { return 0 , fmt . Errorf ( " " , n ) } return nn , err }
// WriteGunzip writes ungzipped p to w and returns the number of uncompressed
// bytes written to w.
WriteGunzip writes ungzipped p to w and returns the number of uncompressed bytes written to w .