MCPcopy Index your code
hub / github.com/hoothin/UserScripts / deflateInit2

Function deflateInit2

Picviewer CE+/dist.user.js:7460–7536  ·  view source on GitHub ↗
(strm, level, method, windowBits, memLevel, strategy)

Source from the content-addressed store, hash-verified

7458
7459
7460function deflateInit2(strm, level, method, windowBits, memLevel, strategy) {
7461 if (!strm) { // === Z_NULL
7462 return Z_STREAM_ERROR;
7463 }
7464 var wrap = 1;
7465
7466 if (level === Z_DEFAULT_COMPRESSION) {
7467 level = 6;
7468 }
7469
7470 if (windowBits < 0) { /* suppress zlib wrapper */
7471 wrap = 0;
7472 windowBits = -windowBits;
7473 }
7474
7475 else if (windowBits > 15) {
7476 wrap = 2; /* write gzip wrapper instead */
7477 windowBits -= 16;
7478 }
7479
7480
7481 if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||
7482 windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||
7483 strategy < 0 || strategy > Z_FIXED) {
7484 return err(strm, Z_STREAM_ERROR);
7485 }
7486
7487
7488 if (windowBits === 8) {
7489 windowBits = 9;
7490 }
7491 /* until 256-byte window bug fixed */
7492
7493 var s = new DeflateState();
7494
7495 strm.state = s;
7496 s.strm = strm;
7497
7498 s.wrap = wrap;
7499 s.gzhead = null;
7500 s.w_bits = windowBits;
7501 s.w_size = 1 << s.w_bits;
7502 s.w_mask = s.w_size - 1;
7503
7504 s.hash_bits = memLevel + 7;
7505 s.hash_size = 1 << s.hash_bits;
7506 s.hash_mask = s.hash_size - 1;
7507 s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);
7508
7509 s.window = new utils.Buf8(s.w_size * 2);
7510 s.head = new utils.Buf16(s.hash_size);
7511 s.prev = new utils.Buf16(s.w_size);
7512
7513 // Don't need mem init magic for JS.
7514 //s.high_water = 0; /* nothing written to s->window yet */
7515
7516 s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
7517

Callers 1

deflateInitFunction · 0.70

Calls 2

errFunction · 0.70
deflateResetFunction · 0.70

Tested by

no test coverage detected