亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? deflate.c

?? 一個(gè)本地database引擎,支持中文T_Sql查詢,兼容DELPHI標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)控件
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
                    beg = s->pending;
                    if (s->pending == s->pending_buf_size) {
                        val = 1;
                        break;
                    }
                }
                val = s->gzhead->name[s->gzindex++];
                put_byte(s, val);
            } while (val != 0);
            if (s->gzhead->hcrc && s->pending > beg)
                strm->adler = crc32(strm->adler, s->pending_buf + beg,
                                    s->pending - beg);
            if (val == 0) {
                s->gzindex = 0;
                s->status = COMMENT_STATE;
            }
        }
        else
            s->status = COMMENT_STATE;
    }
    if (s->status == COMMENT_STATE) {
        if (s->gzhead->comment != NULL) {
            uInt beg = s->pending;  /* start of bytes to update crc */
            int val;

            do {
                if (s->pending == s->pending_buf_size) {
                    if (s->gzhead->hcrc && s->pending > beg)
                        strm->adler = crc32(strm->adler, s->pending_buf + beg,
                                            s->pending - beg);
                    flush_pending(strm);
                    beg = s->pending;
                    if (s->pending == s->pending_buf_size) {
                        val = 1;
                        break;
                    }
                }
                val = s->gzhead->comment[s->gzindex++];
                put_byte(s, val);
            } while (val != 0);
            if (s->gzhead->hcrc && s->pending > beg)
                strm->adler = crc32(strm->adler, s->pending_buf + beg,
                                    s->pending - beg);
            if (val == 0)
                s->status = HCRC_STATE;
        }
        else
            s->status = HCRC_STATE;
    }
    if (s->status == HCRC_STATE) {
        if (s->gzhead->hcrc) {
            if (s->pending + 2 > s->pending_buf_size)
                flush_pending(strm);
            if (s->pending + 2 <= s->pending_buf_size) {
                put_byte(s, (Byte)(strm->adler & 0xff));
                put_byte(s, (Byte)((strm->adler >> 8) & 0xff));
                strm->adler = crc32(0L, Z_NULL, 0);
                s->status = BUSY_STATE;
            }
        }
        else
            s->status = BUSY_STATE;
    }
#endif

    /* Flush as much pending output as possible */
    if (s->pending != 0) {
        flush_pending(strm);
        if (strm->avail_out == 0) {
            /* Since avail_out is 0, deflate will be called again with
             * more output space, but possibly with both pending and
             * avail_in equal to zero. There won't be anything to do,
             * but this is not an error situation so make sure we
             * return OK instead of BUF_ERROR at next call of deflate:
             */
            s->last_flush = -1;
            return Z_OK;
        }

    /* Make sure there is something to do and avoid duplicate consecutive
     * flushes. For repeated and useless calls with Z_FINISH, we keep
     * returning Z_STREAM_END instead of Z_BUF_ERROR.
     */
    } else if (strm->avail_in == 0 && flush <= old_flush &&
               flush != Z_FINISH) {
        ERR_RETURN(strm, Z_BUF_ERROR);
    }

    /* User must not provide more input after the first FINISH: */
    if (s->status == FINISH_STATE && strm->avail_in != 0) {
        ERR_RETURN(strm, Z_BUF_ERROR);
    }

    /* Start a new block or continue the current one.
     */
    if (strm->avail_in != 0 || s->lookahead != 0 ||
        (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) {
        block_state bstate;

        bstate = (*(configuration_table[s->level].func))(s, flush);

        if (bstate == finish_started || bstate == finish_done) {
            s->status = FINISH_STATE;
        }
        if (bstate == need_more || bstate == finish_started) {
            if (strm->avail_out == 0) {
                s->last_flush = -1; /* avoid BUF_ERROR next call, see above */
            }
            return Z_OK;
            /* If flush != Z_NO_FLUSH && avail_out == 0, the next call
             * of deflate should use the same flush parameter to make sure
             * that the flush is complete. So we don't have to output an
             * empty block here, this will be done at next call. This also
             * ensures that for a very small output buffer, we emit at most
             * one empty block.
             */
        }
        if (bstate == block_done) {
            if (flush == Z_PARTIAL_FLUSH) {
                _tr_align(s);
            } else { /* FULL_FLUSH or SYNC_FLUSH */
                _tr_stored_block(s, (char*)0, 0L, 0);
                /* For a full flush, this empty block will be recognized
                 * as a special marker by inflate_sync().
                 */
                if (flush == Z_FULL_FLUSH) {
                    CLEAR_HASH(s);             /* forget history */
                }
            }
            flush_pending(strm);
            if (strm->avail_out == 0) {
              s->last_flush = -1; /* avoid BUF_ERROR at next call, see above */
              return Z_OK;
            }
        }
    }
    Assert(strm->avail_out > 0, "bug2");

    if (flush != Z_FINISH) return Z_OK;
    if (s->wrap <= 0) return Z_STREAM_END;

    /* Write the trailer */
#ifdef GZIP
    if (s->wrap == 2) {
        put_byte(s, (Byte)(strm->adler & 0xff));
        put_byte(s, (Byte)((strm->adler >> 8) & 0xff));
        put_byte(s, (Byte)((strm->adler >> 16) & 0xff));
        put_byte(s, (Byte)((strm->adler >> 24) & 0xff));
        put_byte(s, (Byte)(strm->total_in & 0xff));
        put_byte(s, (Byte)((strm->total_in >> 8) & 0xff));
        put_byte(s, (Byte)((strm->total_in >> 16) & 0xff));
        put_byte(s, (Byte)((strm->total_in >> 24) & 0xff));
    }
    else
#endif
    {
        putShortMSB(s, (uInt)(strm->adler >> 16));
        putShortMSB(s, (uInt)(strm->adler & 0xffff));
    }
    flush_pending(strm);
    /* If avail_out is zero, the application will call deflate again
     * to flush the rest.
     */
    if (s->wrap > 0) s->wrap = -s->wrap; /* write the trailer only once! */
    return s->pending != 0 ? Z_OK : Z_STREAM_END;
}

/* ========================================================================= */
int ZEXPORT deflateEnd (strm)
    z_streamp strm;
{
    int status;

    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;

    status = strm->state->status;
    if (status != INIT_STATE &&
        status != EXTRA_STATE &&
        status != NAME_STATE &&
        status != COMMENT_STATE &&
        status != HCRC_STATE &&
        status != BUSY_STATE &&
        status != FINISH_STATE) {
      return Z_STREAM_ERROR;
    }

    /* Deallocate in reverse order of allocations: */
    TRY_FREE(strm, strm->state->pending_buf);
    TRY_FREE(strm, strm->state->head);
    TRY_FREE(strm, strm->state->prev);
    TRY_FREE(strm, strm->state->window);

    ZFREE(strm, strm->state);
    strm->state = Z_NULL;

    return status == BUSY_STATE ? Z_DATA_ERROR : Z_OK;
}

/* =========================================================================
 * Copy the source state to the destination state.
 * To simplify the source, this is not supported for 16-bit MSDOS (which
 * doesn't have enough memory anyway to duplicate compression states).
 */
int ZEXPORT deflateCopy (dest, source)
    z_streamp dest;
    z_streamp source;
{
#ifdef MAXSEG_64K
    return Z_STREAM_ERROR;
#else
    deflate_state *ds;
    deflate_state *ss;
    ushf *overlay;


    if (source == Z_NULL || dest == Z_NULL || source->state == Z_NULL) {
        return Z_STREAM_ERROR;
    }

    ss = source->state;

    zmemcpy(dest, source, sizeof(z_stream));

    ds = (deflate_state *) ZALLOC(dest, 1, sizeof(deflate_state));
    if (ds == Z_NULL) return Z_MEM_ERROR;
    dest->state = (struct internal_state FAR *) ds;
    zmemcpy(ds, ss, sizeof(deflate_state));
    ds->strm = dest;

    ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte));
    ds->prev   = (Posf *)  ZALLOC(dest, ds->w_size, sizeof(Pos));
    ds->head   = (Posf *)  ZALLOC(dest, ds->hash_size, sizeof(Pos));
    overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2);
    ds->pending_buf = (uchf *) overlay;

    if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL ||
        ds->pending_buf == Z_NULL) {
        deflateEnd (dest);
        return Z_MEM_ERROR;
    }
    /* following zmemcpy do not work for 16-bit MSDOS */
    zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte));
    zmemcpy(ds->prev, ss->prev, ds->w_size * sizeof(Pos));
    zmemcpy(ds->head, ss->head, ds->hash_size * sizeof(Pos));
    zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size);

    ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf);
    ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush);
    ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize;

    ds->l_desc.dyn_tree = ds->dyn_ltree;
    ds->d_desc.dyn_tree = ds->dyn_dtree;
    ds->bl_desc.dyn_tree = ds->bl_tree;

    return Z_OK;
#endif /* MAXSEG_64K */
}

/* ===========================================================================
 * Read a new buffer from the current input stream, update the adler32
 * and total number of bytes read.  All deflate() input goes through
 * this function so some applications may wish to modify it to avoid
 * allocating a large strm->next_in buffer and copying from it.
 * (See also flush_pending()).
 */
local int read_buf(strm, buf, size)
    z_streamp strm;
    Bytef *buf;
    unsigned size;
{
    unsigned len = strm->avail_in;

    if (len > size) len = size;
    if (len == 0) return 0;

    strm->avail_in  -= len;

    if (strm->state->wrap == 1) {
        strm->adler = adler32(strm->adler, strm->next_in, len);
    }
#ifdef GZIP
    else if (strm->state->wrap == 2) {
        strm->adler = crc32(strm->adler, strm->next_in, len);
    }
#endif
    zmemcpy(buf, strm->next_in, len);
    strm->next_in  += len;
    strm->total_in += len;

    return (int)len;
}

/* ===========================================================================
 * Initialize the "longest match" routines for a new zlib stream
 */
local void lm_init (s)
    deflate_state *s;
{
    s->window_size = (ulg)2L*s->w_size;

    CLEAR_HASH(s);

    /* Set the default configuration parameters:
     */
    s->max_lazy_match   = configuration_table[s->level].max_lazy;
    s->good_match       = configuration_table[s->level].good_length;
    s->nice_match       = configuration_table[s->level].nice_length;
    s->max_chain_length = configuration_table[s->level].max_chain;

    s->strstart = 0;
    s->block_start = 0L;
    s->lookahead = 0;
    s->match_length = s->prev_length = MIN_MATCH-1;
    s->match_available = 0;
    s->ins_h = 0;
#ifndef FASTEST
#ifdef ASMV
    match_init(); /* initialize the asm code */
#endif
#endif
}

#ifndef FASTEST
/* ===========================================================================
 * Set match_start to the longest match starting at the given string and
 * return its length. Matches shorter or equal to prev_length are discarded,
 * in which case the result is equal to prev_length and match_start is
 * garbage.
 * IN assertions: cur_match is the head of the hash chain for the current
 *   string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
 * OUT assertion: the match length is not greater than s->lookahead.
 */
#ifndef ASMV
/* For 80x86 and 680x0, an optimized version will be provided in match.asm or
 * match.S. The code will be functionally equivalent.
 */
local uInt longest_match(s, cur_match)
    deflate_state *s;
    IPos cur_match;                             /* current match */
{
    unsigned chain_length = s->max_chain_length;/* max hash chain length */
    register Bytef *scan = s->window + s->strstart; /* current string */
    register Bytef *match;                       /* matched string */
    register int len;                           /* length of current match */
    int best_len = s->prev_length;              /* best match length so far */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色妹子一区二区| 精品在线一区二区| 日韩黄色在线观看| 蜜臀久久99精品久久久画质超高清 | 成人欧美一区二区三区视频网页 | 欧美自拍偷拍午夜视频| 欧美精品vⅰdeose4hd| 精品国产成人在线影院| 国产精品蜜臀在线观看| 亚洲最色的网站| 免费成人在线播放| av一本久道久久综合久久鬼色| 欧美性极品少妇| 久久五月婷婷丁香社区| 夜夜夜精品看看| 久久精品国产99国产| 9人人澡人人爽人人精品| 欧美另类一区二区三区| 中文字幕国产一区| 日本va欧美va瓶| 色综合亚洲欧洲| 精品日韩99亚洲| 一二三区精品视频| 国产精品一级黄| 欧美色国产精品| 国产欧美一区二区精品秋霞影院| 亚洲国产精品尤物yw在线观看| 国产精品99久久久久久有的能看 | 亚洲一区二区偷拍精品| 黄一区二区三区| 欧美午夜精品一区二区三区| 久久精品亚洲精品国产欧美kt∨| 亚洲成a人v欧美综合天堂| 粉嫩aⅴ一区二区三区四区| 欧美精品第1页| 国产精品福利av| 国产精品一线二线三线| 欧美另类变人与禽xxxxx| 成人免费在线播放视频| 美女视频免费一区| 欧美色大人视频| 亚洲四区在线观看| 国产高清精品网站| 日韩美女在线视频| 亚洲成人av电影| 91香蕉视频mp4| 国产欧美日韩亚州综合| 久久av老司机精品网站导航| 欧美日韩国产另类一区| 亚洲日本韩国一区| 波多野结衣亚洲| 久久精品免视看| 久久成人精品无人区| 91精品欧美综合在线观看最新 | 91麻豆国产福利在线观看| 国产欧美综合在线| 国产剧情在线观看一区二区| 欧美精品一级二级| 夜夜嗨av一区二区三区中文字幕| 成人av在线看| 国产夜色精品一区二区av| 国产一区二区不卡在线| 精品精品国产高清a毛片牛牛| 青青国产91久久久久久| 欧美日韩精品欧美日韩精品一| 一区二区三区在线免费视频| 99久久99久久免费精品蜜臀| 国产精品久久久久久久浪潮网站 | 亚洲视频免费在线观看| 成人黄色综合网站| 中文子幕无线码一区tr| 成人一级视频在线观看| 中文字幕第一区| 成人禁用看黄a在线| 国产精品美女久久久久久2018| 国产成a人亚洲| 国产精品视频一二三区| 波多野洁衣一区| 亚洲欧美激情在线| 99久久99久久综合| 一区二区三区精密机械公司| 色88888久久久久久影院按摩| 亚洲图片激情小说| 欧美午夜精品免费| 日韩福利视频网| 日韩美女在线视频| 国产99久久精品| 中文字幕在线播放不卡一区| 色综合天天天天做夜夜夜夜做| 亚洲精品视频自拍| 欧美熟乱第一页| 日韩成人一级大片| 精品裸体舞一区二区三区| 国产一区二区三区免费观看| 国产日产欧美一区二区三区 | 自拍偷拍亚洲欧美日韩| 91久久奴性调教| 视频一区免费在线观看| 精品国产1区二区| 成人激情开心网| 一区二区三区四区av| 91精品国产综合久久久久久久 | 久久久久综合网| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 亚洲综合在线免费观看| 9191成人精品久久| 国产麻豆精品在线观看| 亚洲欧美怡红院| 欧美夫妻性生活| 国产二区国产一区在线观看| 亚洲日本免费电影| 91精品国产色综合久久不卡电影 | 久久久久久久综合日本| proumb性欧美在线观看| 一区二区三区蜜桃| 精品国产一区二区三区久久影院| yourporn久久国产精品| 丝袜美腿亚洲综合| 国产欧美日韩视频一区二区 | 免费成人在线视频观看| 国产日韩av一区二区| 欧美三级电影网站| 国产在线看一区| 亚洲美女屁股眼交| 欧美成人伊人久久综合网| 99久久精品免费观看| 日韩和欧美一区二区三区| 国产精品丝袜久久久久久app| 欧美日韩亚洲综合一区 | 欧美国产日韩a欧美在线观看| 欧美亚一区二区| 国产一区二区在线影院| 有码一区二区三区| 久久久av毛片精品| 欧美日韩国产精品成人| 成人性生交大合| 日本成人在线视频网站| 亚洲色图在线视频| 精品国产91久久久久久久妲己| 欧洲日韩一区二区三区| 成人午夜私人影院| 久久精品噜噜噜成人88aⅴ| 亚洲欧美欧美一区二区三区| 精品99一区二区三区| 欧美日韩久久一区| jlzzjlzz亚洲女人18| 久久97超碰色| 亚洲综合图片区| 国产精品污网站| 欧美不卡一区二区三区| 欧美视频在线观看一区| 95精品视频在线| 国产一区啦啦啦在线观看| 日韩专区在线视频| 亚洲精品一二三| 亚洲国产成人在线| 欧美精品一区二| 日韩一区二区三区电影在线观看 | 91传媒视频在线播放| 韩国av一区二区| 日韩电影在线看| 亚洲国产精品久久不卡毛片| 国产精品麻豆一区二区| 久久综合丝袜日本网| 欧美videofree性高清杂交| 欧美久久一二区| 欧美性色黄大片| 欧美亚洲国产一区二区三区va | 亚洲一区二区成人在线观看| 中文字幕一区二区三区在线播放| 久久久一区二区三区捆绑**| 日韩欧美资源站| 9191久久久久久久久久久| 欧美日韩免费观看一区二区三区| 91在线丨porny丨国产| 成人毛片视频在线观看| 国产精品77777| 精久久久久久久久久久| 久久不见久久见免费视频7| 麻豆精品一二三| 国内精品久久久久影院薰衣草 | 国产欧美日韩视频在线观看| 久久综合九色综合欧美就去吻| 日韩欧美国产一区在线观看| 欧美酷刑日本凌虐凌虐| 欧美丝袜自拍制服另类| 欧美日韩亚洲丝袜制服| 欧美丰满嫩嫩电影| 欧美一区二区二区| 这里只有精品电影| 欧美一区二区三区在线看| 91精品国产色综合久久不卡蜜臀| 欧美一级专区免费大片| 日韩精品一区二区三区三区免费| 日韩精品一区二区三区swag| 2024国产精品视频| 久久久久久久久久久黄色| 国产人成亚洲第一网站在线播放| 中文字幕不卡在线| 亚洲天堂网中文字|