internal int InflateEnd() { if (blocks is object) { blocks.Free(); } return(Z_OK); }
internal int InflateEnd() { if (blocks != null) { blocks.Free(); } return(Z_OK); }
internal int InflateInit(int w) { z.msg = null; blocks = null; // handle undocumented wrap option (no zlib header or check) wrap = 0; if (w < 0) { w = -w; } else if ((w & INFLATE_ANY) != 0) { wrap = 4; w &= ~INFLATE_ANY; if (w < 48) { w &= 15; } } else if ((w & ~31) != 0) // for example, DEF_WBITS + 32 { wrap = 4; // zlib and gzip wrapped data should be accepted. w &= 15; } else { wrap = (w >> 4) + 1; if (w < 48) { w &= 15; } } if (w < 8 || w > 15) { _ = InflateEnd(); return(Z_STREAM_ERROR); } if (blocks is object && wbits != w) { blocks.Free(); blocks = null; } // set window size wbits = w; this.blocks = new InfBlocks(z, 1 << w); // reset state _ = InflateReset(); return(Z_OK); }