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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? inflate.c

?? minix操作系統(tǒng)最新版本(3.1.1)的源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
                        len = state->head->extra_len - state->length;                        zmemcpy(state->head->extra + len, next,                                len + copy > state->head->extra_max ?                                state->head->extra_max - len : copy);                    }                    if (state->flags & 0x0200)                        state->check = crc32(state->check, next, copy);                    have -= copy;                    next += copy;                    state->length -= copy;                }                if (state->length) goto inf_leave;            }            state->length = 0;            state->mode = NAME;        case NAME:            if (state->flags & 0x0800) {                if (have == 0) goto inf_leave;                copy = 0;                do {                    len = (unsigned)(next[copy++]);                    if (state->head != Z_NULL &&                            state->head->name != Z_NULL &&                            state->length < state->head->name_max)                        state->head->name[state->length++] = len;                } while (len && copy < have);                if (state->flags & 0x0200)                    state->check = crc32(state->check, next, copy);                have -= copy;                next += copy;                if (len) goto inf_leave;            }            else if (state->head != Z_NULL)                state->head->name = Z_NULL;            state->length = 0;            state->mode = COMMENT;        case COMMENT:            if (state->flags & 0x1000) {                if (have == 0) goto inf_leave;                copy = 0;                do {                    len = (unsigned)(next[copy++]);                    if (state->head != Z_NULL &&                            state->head->comment != Z_NULL &&                            state->length < state->head->comm_max)                        state->head->comment[state->length++] = len;                } while (len && copy < have);                if (state->flags & 0x0200)                    state->check = crc32(state->check, next, copy);                have -= copy;                next += copy;                if (len) goto inf_leave;            }            else if (state->head != Z_NULL)                state->head->comment = Z_NULL;            state->mode = HCRC;        case HCRC:            if (state->flags & 0x0200) {                NEEDBITS(16);                if (hold != (state->check & 0xffff)) {                    strm->msg = (char *)"header crc mismatch";                    state->mode = BAD;                    break;                }                INITBITS();            }            if (state->head != Z_NULL) {                state->head->hcrc = (int)((state->flags >> 9) & 1);                state->head->done = 1;            }            strm->adler = state->check = crc32(0L, Z_NULL, 0);            state->mode = TYPE;            break;#endif        case DICTID:            NEEDBITS(32);            strm->adler = state->check = REVERSE(hold);            INITBITS();            state->mode = DICT;        case DICT:            if (state->havedict == 0) {                RESTORE();                return Z_NEED_DICT;            }            strm->adler = state->check = adler32(0L, Z_NULL, 0);            state->mode = TYPE;        case TYPE:            if (flush == Z_BLOCK) goto inf_leave;        case TYPEDO:            if (state->last) {                BYTEBITS();                state->mode = CHECK;                break;            }            NEEDBITS(3);            state->last = BITS(1);            DROPBITS(1);            switch (BITS(2)) {            case 0:                             /* stored block */                Tracev((stderr, "inflate:     stored block%s\n",                        state->last ? " (last)" : ""));                state->mode = STORED;                break;            case 1:                             /* fixed block */                fixedtables(state);                Tracev((stderr, "inflate:     fixed codes block%s\n",                        state->last ? " (last)" : ""));                state->mode = LEN;              /* decode codes */                break;            case 2:                             /* dynamic block */                Tracev((stderr, "inflate:     dynamic codes block%s\n",                        state->last ? " (last)" : ""));                state->mode = TABLE;                break;            case 3:                strm->msg = (char *)"invalid block type";                state->mode = BAD;            }            DROPBITS(2);            break;        case STORED:            BYTEBITS();                         /* go to byte boundary */            NEEDBITS(32);            if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) {                strm->msg = (char *)"invalid stored block lengths";                state->mode = BAD;                break;            }            state->length = (unsigned)hold & 0xffff;            Tracev((stderr, "inflate:       stored length %u\n",                    state->length));            INITBITS();            state->mode = COPY;        case COPY:            copy = state->length;            if (copy) {                if (copy > have) copy = have;                if (copy > left) copy = left;                if (copy == 0) goto inf_leave;                zmemcpy(put, next, copy);                have -= copy;                next += copy;                left -= copy;                put += copy;                state->length -= copy;                break;            }            Tracev((stderr, "inflate:       stored end\n"));            state->mode = TYPE;            break;        case TABLE:            NEEDBITS(14);            state->nlen = BITS(5) + 257;            DROPBITS(5);            state->ndist = BITS(5) + 1;            DROPBITS(5);            state->ncode = BITS(4) + 4;            DROPBITS(4);#ifndef PKZIP_BUG_WORKAROUND            if (state->nlen > 286 || state->ndist > 30) {                strm->msg = (char *)"too many length or distance symbols";                state->mode = BAD;                break;            }#endif            Tracev((stderr, "inflate:       table sizes ok\n"));            state->have = 0;            state->mode = LENLENS;        case LENLENS:            while (state->have < state->ncode) {                NEEDBITS(3);                state->lens[order[state->have++]] = (unsigned short)BITS(3);                DROPBITS(3);            }            while (state->have < 19)                state->lens[order[state->have++]] = 0;            state->next = state->codes;            state->lencode = (code const FAR *)(state->next);            state->lenbits = 7;            ret = inflate_table(CODES, state->lens, 19, &(state->next),                                &(state->lenbits), state->work);            if (ret) {                strm->msg = (char *)"invalid code lengths set";                state->mode = BAD;                break;            }            Tracev((stderr, "inflate:       code lengths ok\n"));            state->have = 0;            state->mode = CODELENS;        case CODELENS:            while (state->have < state->nlen + state->ndist) {                for (;;) {                    this = state->lencode[BITS(state->lenbits)];                    if ((unsigned)(this.bits) <= bits) break;                    PULLBYTE();                }                if (this.val < 16) {                    NEEDBITS(this.bits);                    DROPBITS(this.bits);                    state->lens[state->have++] = this.val;                }                else {                    if (this.val == 16) {                        NEEDBITS(this.bits + 2);                        DROPBITS(this.bits);                        if (state->have == 0) {                            strm->msg = (char *)"invalid bit length repeat";                            state->mode = BAD;                            break;                        }                        len = state->lens[state->have - 1];                        copy = 3 + BITS(2);                        DROPBITS(2);                    }                    else if (this.val == 17) {                        NEEDBITS(this.bits + 3);                        DROPBITS(this.bits);                        len = 0;                        copy = 3 + BITS(3);                        DROPBITS(3);                    }                    else {                        NEEDBITS(this.bits + 7);                        DROPBITS(this.bits);                        len = 0;                        copy = 11 + BITS(7);                        DROPBITS(7);                    }                    if (state->have + copy > state->nlen + state->ndist) {                        strm->msg = (char *)"invalid bit length repeat";                        state->mode = BAD;                        break;                    }                    while (copy--)                        state->lens[state->have++] = (unsigned short)len;                }            }            /* handle error breaks in while */            if (state->mode == BAD) break;            /* build code tables */            state->next = state->codes;            state->lencode = (code const FAR *)(state->next);            state->lenbits = 9;            ret = inflate_table(LENS, state->lens, state->nlen, &(state->next),                                &(state->lenbits), state->work);            if (ret) {                strm->msg = (char *)"invalid literal/lengths set";                state->mode = BAD;                break;            }            state->distcode = (code const FAR *)(state->next);            state->distbits = 6;            ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist,                            &(state->next), &(state->distbits), state->work);            if (ret) {                strm->msg = (char *)"invalid distances set";                state->mode = BAD;                break;            }            Tracev((stderr, "inflate:       codes ok\n"));            state->mode = LEN;        case LEN:            if (have >= 6 && left >= 258) {                RESTORE();                inflate_fast(strm, out);                LOAD();                break;            }            for (;;) {                this = state->lencode[BITS(state->lenbits)];                if ((unsigned)(this.bits) <= bits) break;                PULLBYTE();            }            if (this.op && (this.op & 0xf0) == 0) {                last = this;                for (;;) {                    this = state->lencode[last.val +                            (BITS(last.bits + last.op) >> last.bits)];                    if ((unsigned)(last.bits + this.bits) <= bits) break;                    PULLBYTE();                }                DROPBITS(last.bits);            }            DROPBITS(this.bits);            state->length = (unsigned)this.val;            if ((int)(this.op) == 0) {                Tracevv((stderr, this.val >= 0x20 && this.val < 0x7f ?                        "inflate:         literal '%c'\n" :                        "inflate:         literal 0x%02x\n", this.val));                state->mode = LIT;                break;            }            if (this.op & 32) {                Tracevv((stderr, "inflate:         end of block\n"));                state->mode = TYPE;                break;            }            if (this.op & 64) {                strm->msg = (char *)"invalid literal/length code";                state->mode = BAD;                break;            }            state->extra = (unsigned)(this.op) & 15;            state->mode = LENEXT;        case LENEXT:            if (state->extra) {                NEEDBITS(state->extra);                state->length += BITS(state->extra);                DROPBITS(state->extra);            }            Tracevv((stderr, "inflate:         length %u\n", state->length));            state->mode = DIST;        case DIST:            for (;;) {                this = state->distcode[BITS(state->distbits)];                if ((unsigned)(this.bits) <= bits) break;                PULLBYTE();            }            if ((this.op & 0xf0) == 0) {                last = this;                for (;;) {                    this = state->distcode[last.val +                            (BITS(last.bits + last.op) >> last.bits)];                    if ((unsigned)(last.bits + this.bits) <= bits) break;                    PULLBYTE();                }                DROPBITS(last.bits);            }            DROPBITS(this.bits);            if (this.op & 64) {                strm->msg = (char *)"invalid distance code";                state->mode = BAD;                break;            }            state->offset = (unsigned)this.val;            state->extra = (unsigned)(this.op) & 15;            state->mode = DISTEXT;        case DISTEXT:            if (state->extra) {                NEEDBITS(state->extra);                state->offset += BITS(state->extra);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精一品亚洲二区在线视频| 色女孩综合影院| 亚洲精品视频一区| 精品人伦一区二区色婷婷| 一本色道久久综合精品竹菊| 国产精品自在在线| 午夜国产精品影院在线观看| 中文字幕在线观看不卡| 日韩精品一区二区三区swag| 日本韩国欧美国产| 成人av先锋影音| 国产一区不卡视频| 热久久一区二区| 亚洲亚洲人成综合网络| 国产精品久久久久影院| 精品国产一区二区精华| 3751色影院一区二区三区| 91麻豆免费看| 97国产一区二区| 粉嫩av一区二区三区粉嫩| 美女免费视频一区二区| 三级在线观看一区二区| 亚洲高清视频在线| 一区二区三区不卡在线观看| 最好看的中文字幕久久| 日本一区二区三级电影在线观看| 精品国产伦一区二区三区观看方式| 欧美日韩国产天堂| 欧美在线观看你懂的| 色播五月激情综合网| 色av成人天堂桃色av| 色综合亚洲欧洲| 日韩午夜激情视频| 欧美性猛交xxxxxx富婆| 94-欧美-setu| 色综合久久中文综合久久97| www.久久久久久久久| 国产91精品在线观看| 国产成人8x视频一区二区| 国产寡妇亲子伦一区二区| 精品一区二区精品| 国产一区三区三区| 国产成人综合在线| 成人免费不卡视频| 91美女在线视频| 日本韩国精品在线| 欧美剧情片在线观看| 欧美精品日韩一本| 日韩女优av电影在线观看| 精品福利av导航| 国产女同性恋一区二区| 国产精品欧美一区二区三区| 亚洲欧美影音先锋| 夜夜嗨av一区二区三区| 午夜精品久久久久久久蜜桃app| 日韩av电影天堂| 国产精品一色哟哟哟| 成人高清伦理免费影院在线观看| av不卡一区二区三区| 91国产成人在线| 日韩视频一区二区三区| 国产午夜精品理论片a级大结局| 国产精品久久免费看| 亚洲一区二区免费视频| 久久99国产精品久久| 成人精品在线视频观看| 欧美午夜精品免费| 欧美zozo另类异族| 亚洲人吸女人奶水| 日韩制服丝袜av| 丁香亚洲综合激情啪啪综合| 91亚洲精品久久久蜜桃网站| 在线播放/欧美激情| 久久久国产精品午夜一区ai换脸| 亚洲欧美国产三级| 蜜桃一区二区三区四区| 成人精品一区二区三区中文字幕 | 视频一区二区不卡| 国产最新精品免费| 色天天综合久久久久综合片| 欧美一级夜夜爽| 亚洲三级久久久| 麻豆高清免费国产一区| 色哟哟一区二区三区| 精品日韩av一区二区| 亚洲欧美aⅴ...| 国产在线一区观看| 欧美午夜精品久久久久久超碰 | 欧美tk丨vk视频| 亚洲日本一区二区| 老司机一区二区| 色吊一区二区三区| 国产精品三级视频| 精品伊人久久久久7777人| 91精品1区2区| 中文字幕av免费专区久久| 日韩av电影免费观看高清完整版在线观看| 国产成人午夜电影网| 欧美一区中文字幕| 亚洲精品写真福利| 国产传媒欧美日韩成人| 69成人精品免费视频| 亚洲美女免费视频| 成人黄动漫网站免费app| 精品国产百合女同互慰| 亚洲一区中文在线| 99久久国产综合精品女不卡| 国产亚洲欧美日韩日本| 日本亚洲视频在线| 欧美喷潮久久久xxxxx| 亚洲柠檬福利资源导航| 丰满放荡岳乱妇91ww| 2023国产精品自拍| 看片的网站亚洲| 7777精品伊人久久久大香线蕉经典版下载| 亚洲欧美在线视频| jiyouzz国产精品久久| 久久精品人人做人人综合| 蜜臀av一级做a爰片久久| 欧美日韩一级片在线观看| 亚洲激情图片qvod| 一本到不卡精品视频在线观看| 国产欧美视频一区二区三区| 国内精品伊人久久久久av影院 | 久久99精品国产91久久来源| 正在播放一区二区| 日本欧美韩国一区三区| 91麻豆精品国产91久久久久| 亚洲国产婷婷综合在线精品| 欧美主播一区二区三区| 亚洲国产一区视频| 欧美日韩国产精品成人| 亚洲成人动漫在线观看| 欧美日韩免费电影| 婷婷国产v国产偷v亚洲高清| 欧美人与性动xxxx| 五月婷婷综合网| 日韩欧美一二区| 国精产品一区一区三区mba视频| 日韩欧美中文字幕制服| 国内精品第一页| 中文字幕精品一区| 99re热视频精品| 亚洲综合男人的天堂| 9191成人精品久久| 激情五月婷婷综合| 国产精品国模大尺度视频| 99re热这里只有精品免费视频 | 福利一区二区在线| 国产精品毛片高清在线完整版| 成人精品视频一区| 亚洲人成小说网站色在线| 欧美日韩综合在线免费观看| 免费观看成人av| 日本一区二区三区在线观看| 99久久久免费精品国产一区二区 | 婷婷开心久久网| 日韩免费视频一区| 粉嫩蜜臀av国产精品网站| 亚洲黄色尤物视频| 日韩美女在线视频| eeuss影院一区二区三区| 一区二区三区四区不卡视频| 555夜色666亚洲国产免| 国产精品系列在线播放| 亚洲精品国产精华液| 欧美v亚洲v综合ⅴ国产v| 99久久婷婷国产综合精品| 婷婷六月综合网| 中文字幕成人在线观看| 欧美区视频在线观看| 高清不卡在线观看av| 亚洲成人高清在线| 欧美韩国日本综合| 欧美疯狂做受xxxx富婆| 成人的网站免费观看| 图片区小说区区亚洲影院| 日本一区二区三区久久久久久久久不 | 国产白丝精品91爽爽久久 | 精品亚洲成av人在线观看| 国产精品高潮呻吟| 欧美电影免费观看完整版| 91亚洲精华国产精华精华液| 麻豆一区二区99久久久久| 中文字幕一区在线观看| 欧美一级理论性理论a| caoporn国产精品| 麻豆精品久久精品色综合| 亚洲免费在线视频| 久久亚洲春色中文字幕久久久| 欧美中文字幕一区二区三区| 国产精品18久久久| 天天色图综合网| 亚洲欧美韩国综合色| 久久精品欧美一区二区三区不卡| 7777精品伊人久久久大香线蕉最新版| jlzzjlzz欧美大全| 国产在线国偷精品免费看| 日韩黄色免费网站| 一区二区三区日韩精品视频|