• Home
  • Raw
  • Download

Lines Matching refs:match

15 struct match {  struct
22 static int emit_match(deflate_state *s, struct match match) { in emit_match() argument
26 if (match.match_length < WANT_MIN_MATCH) { in emit_match()
27 while (match.match_length) { in emit_match()
28 bflush += zng_tr_tally_lit(s, s->window[match.strstart]); in emit_match()
30 match.strstart++; in emit_match()
31 match.match_length--; in emit_match()
36 check_match(s, match.strstart, match.match_start, match.match_length); in emit_match()
38 …bflush += zng_tr_tally_dist(s, match.strstart - match.match_start, match.match_length - STD_MIN_MA… in emit_match()
40 s->lookahead -= match.match_length; in emit_match()
44 static void insert_match(deflate_state *s, struct match match) { in insert_match() argument
45 if (UNLIKELY(s->lookahead <= (unsigned int)(match.match_length + WANT_MIN_MATCH))) in insert_match()
49 if (LIKELY(match.match_length < WANT_MIN_MATCH)) { in insert_match()
50 match.strstart++; in insert_match()
51 match.match_length--; in insert_match()
52 if (UNLIKELY(match.match_length > 0)) { in insert_match()
53 if (match.strstart >= match.orgstart) { in insert_match()
54 if (match.strstart + match.match_length - 1 >= match.orgstart) { in insert_match()
55 functable.insert_string(s, match.strstart, match.match_length); in insert_match()
57 functable.insert_string(s, match.strstart, match.orgstart - match.strstart + 1); in insert_match()
59 match.strstart += match.match_length; in insert_match()
60 match.match_length = 0; in insert_match()
69 if (match.match_length <= 16 * s->max_insert_length && s->lookahead >= WANT_MIN_MATCH) { in insert_match()
70 match.match_length--; /* string at strstart already in table */ in insert_match()
71 match.strstart++; in insert_match()
73 if (LIKELY(match.strstart >= match.orgstart)) { in insert_match()
74 if (LIKELY(match.strstart + match.match_length - 1 >= match.orgstart)) { in insert_match()
75 functable.insert_string(s, match.strstart, match.match_length); in insert_match()
77 functable.insert_string(s, match.strstart, match.orgstart - match.strstart + 1); in insert_match()
79 } else if (match.orgstart < match.strstart + match.match_length) { in insert_match()
80 … functable.insert_string(s, match.orgstart, match.strstart + match.match_length - match.orgstart); in insert_match()
82 match.strstart += match.match_length; in insert_match()
83 match.match_length = 0; in insert_match()
85 match.strstart += match.match_length; in insert_match()
86 match.match_length = 0; in insert_match()
88 if (match.strstart >= (STD_MIN_MATCH - 2)) in insert_match()
89 functable.quick_insert_string(s, match.strstart + 2 - STD_MIN_MATCH); in insert_match()
97 static void fizzle_matches(deflate_state *s, struct match *current, struct match *next) { in fizzle_matches()
99 unsigned char *match, *orig; in fizzle_matches() local
101 struct match c, n; in fizzle_matches()
113 match = s->window - current->match_length + 1 + next->match_start; in fizzle_matches()
117 if (LIKELY(*match != *orig)) in fizzle_matches()
126 match = s->window + n.match_start - 1; in fizzle_matches()
129 while (*match == *orig) { in fizzle_matches()
143 match--; in fizzle_matches()
162 ALIGNED_(16) struct match current_match; in deflate_medium()
163 struct match next_match; in deflate_medium()
168 memset(&current_match, 0, sizeof(struct match)); in deflate_medium()
169 memset(&next_match, 0, sizeof(struct match)); in deflate_medium()