MIN_MATCH
(UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
if (match[0] != scan[0] || match[1] != scan[1]) return MIN_MATCH-1;
(UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
if (len < MIN_MATCH) return MIN_MATCH - 1;
if (s->lookahead >= MIN_MATCH) {
if (s->match_length >= MIN_MATCH) {
s->match_length - MIN_MATCH, bflush);
s->lookahead >= MIN_MATCH) {
#if MIN_MATCH != 3
Call UPDATE_HASH() MIN_MATCH-3 more times
s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1;
if (s->lookahead >= MIN_MATCH) {
s->match_length = MIN_MATCH-1;
|| (s->match_length == MIN_MATCH &&
s->match_length = MIN_MATCH-1;
if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) {
uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
s->prev_length - MIN_MATCH, bflush);
s->match_length = MIN_MATCH-1;
s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1;
if (s->lookahead >= MIN_MATCH && s->strstart > 0) {
if (s->match_length >= MIN_MATCH) {
_tr_tally_dist(s, 1, s->match_length - MIN_MATCH, bflush);
if (s->lookahead + s->insert >= MIN_MATCH) {
#if MIN_MATCH != 3
Call UPDATE_HASH() MIN_MATCH-3 more times
UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]);
if (s->lookahead + s->insert < MIN_MATCH)
s->hash_shift = ((s->hash_bits + MIN_MATCH-1) / MIN_MATCH);
while (s->lookahead >= MIN_MATCH) {
n = s->lookahead - (MIN_MATCH-1);
UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]);
s->lookahead = MIN_MATCH-1;
s->match_length = s->prev_length = MIN_MATCH-1;
s->match_length = s->prev_length = MIN_MATCH-1;
#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
uch _length_code[MAX_MATCH-MIN_MATCH+1];
(ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
for (i = 0; i < MAX_MATCH-MIN_MATCH+1; i++) {
SEPARATOR(i, MAX_MATCH-MIN_MATCH, 20));
const uch ZLIB_INTERNAL _length_code[MAX_MATCH-MIN_MATCH+1]= {
(UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
if (match[0] != scan[0] || match[1] != scan[1]) return MIN_MATCH-1;
(UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \
if (len < MIN_MATCH) return MIN_MATCH - 1;
if (s->lookahead >= MIN_MATCH) {
if (s->match_length >= MIN_MATCH) {
s->match_length - MIN_MATCH, bflush);
s->lookahead >= MIN_MATCH) {
#if MIN_MATCH != 3
Call UPDATE_HASH() MIN_MATCH-3 more times
s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1;
if (s->lookahead >= MIN_MATCH) {
s->match_length = MIN_MATCH-1;
|| (s->match_length == MIN_MATCH &&
s->match_length = MIN_MATCH-1;
if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) {
uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
s->prev_length - MIN_MATCH, bflush);
s->match_length = MIN_MATCH-1;
s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1;
if (s->lookahead >= MIN_MATCH && s->strstart > 0) {
if (s->match_length >= MIN_MATCH) {
_tr_tally_dist(s, 1, s->match_length - MIN_MATCH, bflush);
if (s->lookahead + s->insert >= MIN_MATCH) {
#if MIN_MATCH != 3
Call UPDATE_HASH() MIN_MATCH-3 more times
UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]);
if (s->lookahead + s->insert < MIN_MATCH)
s->hash_shift = ((s->hash_bits + MIN_MATCH-1) / MIN_MATCH);
while (s->lookahead >= MIN_MATCH) {
n = s->lookahead - (MIN_MATCH-1);
UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]);
s->lookahead = MIN_MATCH-1;
s->match_length = s->prev_length = MIN_MATCH-1;
s->match_length = s->prev_length = MIN_MATCH-1;
#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
uch _length_code[MAX_MATCH-MIN_MATCH+1];
(ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
for (i = 0; i < MAX_MATCH-MIN_MATCH+1; i++) {
SEPARATOR(i, MAX_MATCH-MIN_MATCH, 20));
const uch ZLIB_INTERNAL _length_code[MAX_MATCH-MIN_MATCH+1]= {