Lines Matching +refs:val +refs:length
64 Return state with length and distance decoding tables and index sizes set to
86 /* literal/length table */
258 unsigned len; /* length to copy for repeats, bits to drop */
318 /* get and verify stored block length */
326 state->length = (unsigned)hold & 0xffff;
327 Tracev((stderr, "inflate: stored length %u\n",
328 state->length));
332 while (state->length != 0) {
333 copy = state->length;
343 state->length -= copy;
360 strm->msg = (char *)"too many length or distance symbols";
367 /* get code length code lengths (not a typo) */
388 /* get length and distance code code lengths */
396 if (this.val < 16) {
399 state->lens[state->have++] = this.val;
402 if (this.val == 16) {
406 strm->msg = (char *)"invalid bit length repeat";
414 else if (this.val == 17) {
429 strm->msg = (char *)"invalid bit length repeat";
475 /* get a literal, length, or end-of-block code */
484 this = state->lencode[last.val +
492 state->length = (unsigned)this.val;
496 Tracevv((stderr, this.val >= 0x20 && this.val < 0x7f ?
498 "inflate: literal 0x%02x\n", this.val));
500 *put++ = (unsigned char)(state->length);
515 strm->msg = (char *)"invalid literal/length code";
520 /* length code -- get extra bits, if any */
524 state->length += BITS(state->extra);
527 Tracevv((stderr, "inflate: length %u\n", state->length));
538 this = state->distcode[last.val +
551 state->offset = (unsigned)this.val;
580 if (copy > state->length) copy = state->length;
581 state->length -= copy;
586 } while (state->length != 0);