Lines Matching refs:match

16 struct match {  struct
23 static int emit_match(deflate_state *s, struct match match) { in emit_match() argument
27 if (match.match_length < MIN_MATCH) { in emit_match()
28 while (match.match_length) { in emit_match()
29 bflush += zng_tr_tally_lit(s, s->window[match.strstart]); in emit_match()
31 match.strstart++; in emit_match()
32 match.match_length--; in emit_match()
37 check_match(s, match.strstart, match.match_start, match.match_length); in emit_match()
39 …bflush += zng_tr_tally_dist(s, match.strstart - match.match_start, match.match_length - MIN_MATCH); in emit_match()
41 s->lookahead -= match.match_length; in emit_match()
45 static void insert_match(deflate_state *s, struct match match) { in insert_match() argument
46 if (UNLIKELY(s->lookahead <= (unsigned int)(match.match_length + MIN_MATCH))) in insert_match()
50 if (LIKELY(match.match_length < MIN_MATCH)) { in insert_match()
51 match.strstart++; in insert_match()
52 match.match_length--; in insert_match()
53 if (UNLIKELY(match.match_length > 0)) { in insert_match()
54 if (match.strstart >= match.orgstart) { in insert_match()
55 if (match.strstart + match.match_length - 1 >= match.orgstart) { in insert_match()
56 functable.insert_string(s, match.strstart, match.match_length); in insert_match()
58 functable.insert_string(s, match.strstart, match.orgstart - match.strstart + 1); in insert_match()
60 match.strstart += match.match_length; in insert_match()
61 match.match_length = 0; in insert_match()
70 if (match.match_length <= 16* s->max_insert_length && s->lookahead >= MIN_MATCH) { in insert_match()
71 match.match_length--; /* string at strstart already in table */ in insert_match()
72 match.strstart++; in insert_match()
74 if (LIKELY(match.strstart >= match.orgstart)) { in insert_match()
75 if (LIKELY(match.strstart + match.match_length - 1 >= match.orgstart)) { in insert_match()
76 functable.insert_string(s, match.strstart, match.match_length); in insert_match()
78 functable.insert_string(s, match.strstart, match.orgstart - match.strstart + 1); in insert_match()
80 } else if (match.orgstart < match.strstart + match.match_length) { in insert_match()
81 … functable.insert_string(s, match.orgstart, match.strstart + match.match_length - match.orgstart); in insert_match()
83 match.strstart += match.match_length; in insert_match()
84 match.match_length = 0; in insert_match()
86 match.strstart += match.match_length; in insert_match()
87 match.match_length = 0; in insert_match()
88 if (match.strstart >= (MIN_MATCH - 2)) in insert_match()
90 functable.insert_string(s, match.strstart + 2 - MIN_MATCH, MIN_MATCH - 2); in insert_match()
92 functable.quick_insert_string(s, match.strstart + 2 - MIN_MATCH); in insert_match()
100 static void fizzle_matches(deflate_state *s, struct match *current, struct match *next) { in fizzle_matches()
102 unsigned char *match, *orig; in fizzle_matches() local
104 struct match c, n; in fizzle_matches()
116 match = s->window - current->match_length + 1 + next->match_start; in fizzle_matches()
120 if (LIKELY(*match != *orig)) in fizzle_matches()
129 match = s->window + n.match_start - 1; in fizzle_matches()
132 while (*match == *orig) { in fizzle_matches()
146 match--; in fizzle_matches()
165 ALIGNED_(16) struct match current_match; in deflate_medium()
166 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()