Home | History | Annotate | Download | only in zlib

Lines Matching refs:strstart

403             s->strstart = 0;
418 str = s->strstart;
428 s->strstart = str;
432 s->strstart += s->lookahead;
433 s->block_start = (long)s->strstart;
456 strstart + s->lookahead;
460 zmemcpy(dictionary, s->window + s->strstart + s->lookahead - len, len);
674 wraplen = 6 + (s->strstart ? 4 : 0);
828 if (s->strstart != 0) header |= PRESET_DICT;
834 if (s->strstart != 0) {
1032 s->strstart = 0;
1208 s->strstart = 0;
1229 * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
1241 register Bytef *scan = s->window + s->strstart; /* current string */
1246 IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
1247 s->strstart - (IPos)MAX_DIST(s) : NIL;
1258 register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
1262 register Bytef *strend = s->window + s->strstart + MAX_MATCH;
1281 Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
1284 Assert(cur_match < s->strstart, "no future");
1305 * strstart+3, +5, ... up to strstart+257. We check for insufficient
1307 * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
1321 /* Here, scan <= window+strstart+257 */
1345 * the 256th check will be made at strstart+258.
1389 register Bytef *scan = s->window + s->strstart; /* current string */
1392 register Bytef *strend = s->window + s->strstart + MAX_MATCH;
1399 Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
1401 Assert(cur_match < s->strstart, "no future");
1419 * the 256th check will be made at strstart+258.
1474 * Updates strstart and lookahead.
1477 * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
1492 more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart);
1496 if (more == 0 && s->strstart == 0 && s->lookahead == 0) {
1501 * strstart == 0 && lookahead == 1 (input done a byte at time)
1510 if (s->strstart >= wsize+MAX_DIST(s)) {
1514 s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
1522 * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
1523 * more == window_size - lookahead - strstart
1528 * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
1534 n = read_buf(s->strm, s->window + s->strstart + s->lookahead, more);
1539 uInt str = s->strstart - s->insert;
1568 * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.
1571 ulg curr = s->strstart + (ulg)(s->lookahead);
1597 Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,
1603 * IN assertion: strstart is set to the end of the current match.
1609 (ulg)((long)s->strstart - s->block_start), \
1611 s->block_start = s->strstart; \
1670 left = s->strstart - s->block_start; /* bytes left in window */
1739 * therefore s->block_start == s->strstart.
1744 s->strstart = s->w_size;
1747 if (s->window_size - s->strstart <= used) {
1749 s->strstart -= s->w_size;
1750 zmemcpy(s->window, s->window + s->w_size, s->strstart);
1754 zmemcpy(s->window + s->strstart, s->strm->next_in - used, used);
1755 s->strstart += used;
1757 s->block_start = s->strstart;
1760 if (s->high_water < s->strstart)
1761 s->high_water = s->strstart;
1769 s->strm->avail_in == 0 && (long)s->strstart == s->block_start)
1773 have = s->window_size - s->strstart - 1;
1777 s->strstart -= s->w_size;
1778 zmemcpy(s->window, s->window + s->w_size, s->strstart);
1786 read_buf(s->strm, s->window + s->strstart, have);
1787 s->strstart += have;
1789 if (s->high_water < s->strstart)
1790 s->high_water = s->strstart;
1801 left = s->strstart - s->block_start;
1845 /* Insert the string window[strstart .. strstart+2] in the
1850 INSERT_STRING(s, s->strstart, hash_head);
1856 if (hash_head != NIL && s->strstart - hash_head <= MAX_DIST(s)) {
1865 check_match(s, s->strstart, s->match_start, s->match_length);
1867 _tr_tally_dist(s, s->strstart - s->match_start,
1878 s->match_length--; /* string at strstart already in table */
1880 s->strstart++;
1881 INSERT_STRING(s, s->strstart, hash_head);
1882 /* strstart never exceeds WSIZE-MAX_MATCH, so there are
1886 s->strstart++;
1890 s->strstart += s->match_length;
1892 s->ins_h = s->window[s->strstart];
1893 UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
1903 Tracevv((stderr,"%c", s->window[s->strstart]));
1904 _tr_tally_lit (s, s->window[s->strstart], bflush);
1906 s->strstart++;
1910 s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1;
1948 /* Insert the string window[strstart .. strstart+2] in the
1953 INSERT_STRING(s, s->strstart, hash_head);
1962 s->strstart - hash_head <= MAX_DIST(s)) {
1973 s->strstart - s->match_start > TOO_FAR)
1987 uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
1990 check_match(s, s->strstart-1, s->prev_match, s->prev_length);
1992 _tr_tally_dist(s, s->strstart -1 - s->prev_match,
1996 * strstart-1 and strstart are already inserted. If there is not
2003 if (++s->strstart <= max_insert) {
2004 INSERT_STRING(s, s->strstart, hash_head);
2009 s->strstart++;
2018 Tracevv((stderr,"%c", s->window[s->strstart-1]));
2019 _tr_tally_lit(s, s->window[s->strstart-1], bflush);
2023 s->strstart++;
2031 s->strstart++;
2037 Tracevv((stderr,"%c", s->window[s->strstart-1]));
2038 _tr_tally_lit(s, s->window[s->strstart-1], bflush);
2041 s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1;
2080 if (s->lookahead >= MIN_MATCH && s->strstart > 0) {
2081 scan = s->window + s->strstart - 1;
2084 strend = s->window + s->strstart + MAX_MATCH;
2100 check_match(s, s->strstart, s->strstart - 1, s->match_length);
2105 s->strstart += s->match_length;
2109 Tracevv((stderr,"%c", s->window[s->strstart]));
2110 _tr_tally_lit (s, s->window[s->strstart], bflush);
2112 s->strstart++;
2149 Tracevv((stderr,"%c", s->window[s->strstart]));
2150 _tr_tally_lit (s, s->window[s->strstart], bflush);
2152 s->strstart++;