Lines Matching defs:strstart

413     uInt strstart;               /* start of string to insert */
859 s->strstart = length;
1014 if (s->strstart != 0) header |= PRESET_DICT;
1021 if (s->strstart != 0) {
1256 s->strstart = 0;
1273 * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
1285 register Bytef *scan = s->window + s->strstart; /* current string */
1290 IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
1291 s->strstart - (IPos)MAX_DIST(s) : NIL;
1302 register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
1306 register Bytef *strend = s->window + s->strstart + MAX_MATCH;
1325 Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
1328 Assert(cur_match < s->strstart, "no future");
1344 * strstart+3, +5, ... up to strstart+257. We check for insufficient
1346 * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is
1360 /* Here, scan <= window+strstart+257 */
1384 * the 256th check will be made at strstart+258.
1449 * Updates strstart and lookahead.
1452 * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD
1466 more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart);
1469 if (more == 0 && s->strstart == 0 && s->lookahead == 0) {
1473 /* Very unlikely, but possible on 16 bit machine if strstart == 0
1481 } else if (s->strstart >= wsize+MAX_DIST(s)) {
1486 s->strstart -= wsize; /* we now have strstart >= MAX_DIST */
1516 * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
1517 * more == window_size - lookahead - strstart
1522 * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.
1528 n = read_buf(s->strm, (charf *)s->window + s->strstart + s->lookahead,
1534 s->ins_h = s->window[s->strstart];
1535 UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
1549 * IN assertion: strstart is set to the end of the current match.
1555 (ulg)((long)s->strstart - s->block_start), \
1557 s->block_start = s->strstart; \
1596 Assert(s->strstart < s->w_size+MAX_DIST(s) ||
1606 s->strstart += s->lookahead;
1611 if (s->strstart == 0 || (ulg)s->strstart >= max_start) {
1612 /* strstart == 0 is possible when wraparound on 16-bit machine */
1613 s->lookahead = (uInt)(s->strstart - max_start);
1614 s->strstart = (uInt)max_start;
1620 if (s->strstart - (uInt)s->block_start >= MAX_DIST(s)) {
1656 /* Insert the string window[strstart .. strstart+2] in the
1660 INSERT_STRING(s, s->strstart, hash_head);
1666 if (hash_head != NIL && s->strstart - hash_head <= MAX_DIST(s)) {
1677 check_match(s, s->strstart, s->match_start, s->match_length);
1679 bflush = _tr_tally(s, s->strstart - s->match_start,
1689 s->match_length--; /* string at strstart already in hash table */
1691 s->strstart++;
1692 INSERT_STRING(s, s->strstart, hash_head);
1693 /* strstart never exceeds WSIZE-MAX_MATCH, so there are
1697 s->strstart++;
1699 s->strstart += s->match_length;
1701 s->ins_h = s->window[s->strstart];
1702 UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
1712 Tracevv((stderr,"%c", s->window[s->strstart]));
1713 bflush = _tr_tally (s, 0, s->window[s->strstart]);
1715 s->strstart++;
1750 /* Insert the string window[strstart .. strstart+2] in the
1754 INSERT_STRING(s, s->strstart, hash_head);
1763 s->strstart - hash_head <= MAX_DIST(s)) {
1775 s->strstart - s->match_start > TOO_FAR))) {
1787 uInt max_insert = s->strstart + s->lookahead - MIN_MATCH;
1790 check_match(s, s->strstart-1, s->prev_match, s->prev_length);
1792 bflush = _tr_tally(s, s->strstart -1 - s->prev_match,
1796 * strstart-1 and strstart are already inserted. If there is not
1803 if (++s->strstart <= max_insert) {
1804 INSERT_STRING(s, s->strstart, hash_head);
1809 s->strstart++;
1818 Tracevv((stderr,"%c", s->window[s->strstart-1]));
1819 if (_tr_tally (s, 0, s->window[s->strstart-1])) {
1822 s->strstart++;
1830 s->strstart++;
1836 Tracevv((stderr,"%c", s->window[s->strstart-1]));
1837 _tr_tally (s, 0, s->window[s->strstart-1]);
2830 ulg in_length = (ulg)((long)s->strstart - s->block_start);