NewReaderOpts returns new reader with provided options
(r io.Reader, opts ...ReaderOpt)
| 911 | |
| 912 | // NewReaderOpts returns new reader with provided options |
| 913 | func NewReaderOpts(r io.Reader, opts ...ReaderOpt) io.ReadCloser { |
| 914 | fixedHuffmanDecoderInit() |
| 915 | |
| 916 | var f decompressor |
| 917 | f.r = makeReader(r) |
| 918 | f.bits = new([maxNumLit + maxNumDist]int) |
| 919 | f.codebits = new([numCodes]int) |
| 920 | f.step = nextBlock |
| 921 | f.dict.init(maxMatchOffset, nil) |
| 922 | |
| 923 | for _, opt := range opts { |
| 924 | opt(&f) |
| 925 | } |
| 926 | |
| 927 | if f.hasCP { |
| 928 | if err := f.applyCP(f.cp); err != nil { |
| 929 | f.err = err |
| 930 | } |
| 931 | } |
| 932 | |
| 933 | return &f |
| 934 | } |
| 935 | |
| 936 | // NewReader returns a new ReadCloser that can be used |
| 937 | // to read the uncompressed version of r. |
searching dependent graphs…