Source File
reader.go
Belonging Package
compress/zlib
package zlib
import (
)
const zlibDeflate = 8
func ( io.Reader) (io.ReadCloser, error) {
return NewReaderDict(, nil)
}
return , .err
}
_, .err = io.ReadFull(.r, .scratch[0:2])
if .err != nil {
if .err == io.EOF {
.err = io.ErrUnexpectedEOF
}
return .err
}
:= uint(.scratch[0])<<8 | uint(.scratch[1])
if (.scratch[0]&0x0f != zlibDeflate) || (%31 != 0) {
.err = ErrHeader
return .err
}
:= .scratch[1]&0x20 != 0
if {
_, .err = io.ReadFull(.r, .scratch[0:4])
if .err != nil {
if .err == io.EOF {
.err = io.ErrUnexpectedEOF
}
return .err
}
:= uint32(.scratch[0])<<24 | uint32(.scratch[1])<<16 | uint32(.scratch[2])<<8 | uint32(.scratch[3])
if != adler32.Checksum() {
.err = ErrDictionary
return .err
}
}
if .decompressor == nil {
if {
.decompressor = flate.NewReaderDict(.r, )
} else {
.decompressor = flate.NewReader(.r)
}
} else {
.decompressor.(flate.Resetter).Reset(.r, )
}
.digest = adler32.New()
return nil
![]() |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |