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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gun.c

?? minix操作系統最新版本(3.1.1)的源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
                return Z_BUF_ERROR;            }            outcnt = 0;        }        do {            outbuf[outcnt++] = match[--stack];        } while (stack);        /* loop for next code with final and prev as the last match, rem and           left provide the first 0..7 bits of the next code, end is the last           valid table entry */    }}/* Decompress a gzip file from infile to outfile.  strm is assumed to have been   successfully initialized with inflateBackInit().  The input file may consist   of a series of gzip streams, in which case all of them will be decompressed   to the output file.  If outfile is -1, then the gzip stream(s) integrity is   checked and nothing is written.   The return value is a zlib error code: Z_MEM_ERROR if out of memory,   Z_DATA_ERROR if the header or the compressed data is invalid, or if the   trailer CRC-32 check or length doesn't match, Z_BUF_ERROR if the input ends   prematurely or a write error occurs, or Z_ERRNO if junk (not a another gzip   stream) follows a valid gzip stream. */local int gunpipe(z_stream *strm, int infile, int outfile){    int ret, first, last;    unsigned have, flags, len;    unsigned char *next;    struct ind ind, *indp;    struct outd outd;    /* setup input buffer */    ind.infile = infile;    ind.inbuf = inbuf;    indp = &ind;    /* decompress concatenated gzip streams */    have = 0;                               /* no input data read in yet */    first = 1;                              /* looking for first gzip header */    strm->next_in = Z_NULL;                 /* so Z_BUF_ERROR means EOF */    for (;;) {        /* look for the two magic header bytes for a gzip stream */        if (NEXT() == -1) {            ret = Z_OK;            break;                          /* empty gzip stream is ok */        }        if (last != 31 || (NEXT() != 139 && last != 157)) {            strm->msg = (char *)"incorrect header check";            ret = first ? Z_DATA_ERROR : Z_ERRNO;            break;                          /* not a gzip or compress header */        }        first = 0;                          /* next non-header is junk */        /* process a compress (LZW) file -- can't be concatenated after this */        if (last == 157) {            ret = lunpipe(have, next, indp, outfile, strm);            break;        }        /* process remainder of gzip header */        ret = Z_BUF_ERROR;        if (NEXT() != 8) {                  /* only deflate method allowed */            if (last == -1) break;            strm->msg = (char *)"unknown compression method";            ret = Z_DATA_ERROR;            break;        }        flags = NEXT();                     /* header flags */        NEXT();                             /* discard mod time, xflgs, os */        NEXT();        NEXT();        NEXT();        NEXT();        NEXT();        if (last == -1) break;        if (flags & 0xe0) {            strm->msg = (char *)"unknown header flags set";            ret = Z_DATA_ERROR;            break;        }        if (flags & 4) {                    /* extra field */            len = NEXT();            len += (unsigned)(NEXT()) << 8;            if (last == -1) break;            while (len > have) {                len -= have;                have = 0;                if (NEXT() == -1) break;                len--;            }            if (last == -1) break;            have -= len;            next += len;        }        if (flags & 8)                      /* file name */            while (NEXT() != 0 && last != -1)                ;        if (flags & 16)                     /* comment */            while (NEXT() != 0 && last != -1)                ;        if (flags & 2) {                    /* header crc */            NEXT();            NEXT();        }        if (last == -1) break;        /* set up output */        outd.outfile = outfile;        outd.check = 1;        outd.crc = crc32(0L, Z_NULL, 0);        outd.total = 0;        /* decompress data to output */        strm->next_in = next;        strm->avail_in = have;        ret = inflateBack(strm, in, indp, out, &outd);        if (ret != Z_STREAM_END) break;        next = strm->next_in;        have = strm->avail_in;        strm->next_in = Z_NULL;             /* so Z_BUF_ERROR means EOF */        /* check trailer */        ret = Z_BUF_ERROR;        if (NEXT() != (outd.crc & 0xff) ||            NEXT() != ((outd.crc >> 8) & 0xff) ||            NEXT() != ((outd.crc >> 16) & 0xff) ||            NEXT() != ((outd.crc >> 24) & 0xff)) {            /* crc error */            if (last != -1) {                strm->msg = (char *)"incorrect data check";                ret = Z_DATA_ERROR;            }            break;        }        if (NEXT() != (outd.total & 0xff) ||            NEXT() != ((outd.total >> 8) & 0xff) ||            NEXT() != ((outd.total >> 16) & 0xff) ||            NEXT() != ((outd.total >> 24) & 0xff)) {            /* length error */            if (last != -1) {                strm->msg = (char *)"incorrect length check";                ret = Z_DATA_ERROR;            }            break;        }        /* go back and look for another gzip stream */    }    /* clean up and return */    return ret;}/* Copy file attributes, from -> to, as best we can.  This is best effort, so   no errors are reported.  The mode bits, including suid, sgid, and the sticky   bit are copied (if allowed), the owner's user id and group id are copied   (again if allowed), and the access and modify times are copied. */local void copymeta(char *from, char *to){    struct stat was;    struct utimbuf when;    /* get all of from's Unix meta data, return if not a regular file */    if (stat(from, &was) != 0 || (was.st_mode & S_IFMT) != S_IFREG)        return;    /* set to's mode bits, ignore errors */    (void)chmod(to, was.st_mode & 07777);    /* copy owner's user and group, ignore errors */    (void)chown(to, was.st_uid, was.st_gid);    /* copy access and modify times, ignore errors */    when.actime = was.st_atime;    when.modtime = was.st_mtime;    (void)utime(to, &when);}/* Decompress the file inname to the file outnname, of if test is true, just   decompress without writing and check the gzip trailer for integrity.  If   inname is NULL or an empty string, read from stdin.  If outname is NULL or   an empty string, write to stdout.  strm is a pre-initialized inflateBack   structure.  When appropriate, copy the file attributes from inname to   outname.   gunzip() returns 1 if there is an out-of-memory error or an unexpected   return code from gunpipe().  Otherwise it returns 0. */local int gunzip(z_stream *strm, char *inname, char *outname, int test){    int ret;    int infile, outfile;    /* open files */    if (inname == NULL || *inname == 0) {        inname = "-";        infile = 0;     /* stdin */    }    else {        infile = open(inname, O_RDONLY, 0);        if (infile == -1) {            fprintf(stderr, "gun cannot open %s\n", inname);            return 0;        }    }    if (test)        outfile = -1;    else if (outname == NULL || *outname == 0) {        outname = "-";        outfile = 1;    /* stdout */    }    else {        outfile = open(outname, O_CREAT | O_TRUNC | O_WRONLY, 0666);        if (outfile == -1) {            close(infile);            fprintf(stderr, "gun cannot create %s\n", outname);            return 0;        }    }    errno = 0;    /* decompress */    ret = gunpipe(strm, infile, outfile);    if (outfile > 2) close(outfile);    if (infile > 2) close(infile);    /* interpret result */    switch (ret) {    case Z_OK:    case Z_ERRNO:        if (infile > 2 && outfile > 2) {            copymeta(inname, outname);          /* copy attributes */            unlink(inname);        }        if (ret == Z_ERRNO)            fprintf(stderr, "gun warning: trailing garbage ignored in %s\n",                    inname);        break;    case Z_DATA_ERROR:        if (outfile > 2) unlink(outname);        fprintf(stderr, "gun data error on %s: %s\n", inname, strm->msg);        break;    case Z_MEM_ERROR:        if (outfile > 2) unlink(outname);        fprintf(stderr, "gun out of memory error--aborting\n");        return 1;    case Z_BUF_ERROR:        if (outfile > 2) unlink(outname);        if (strm->next_in != Z_NULL) {            fprintf(stderr, "gun write error on %s: %s\n",                    outname, strerror(errno));        }        else if (errno) {            fprintf(stderr, "gun read error on %s: %s\n",                    inname, strerror(errno));        }        else {            fprintf(stderr, "gun unexpected end of file on %s\n",                    inname);        }        break;    default:        if (outfile > 2) unlink(outname);        fprintf(stderr, "gun internal error--aborting\n");        return 1;    }    return 0;}/* Process the gun command line arguments.  See the command syntax near the   beginning of this source file. */int main(int argc, char **argv){    int ret, len, test;    char *outname;    unsigned char *window;    z_stream strm;    /* initialize inflateBack state for repeated use */    window = match;                         /* reuse LZW match buffer */    strm.zalloc = Z_NULL;    strm.zfree = Z_NULL;    strm.opaque = Z_NULL;    ret = inflateBackInit(&strm, 15, window);    if (ret != Z_OK) {        fprintf(stderr, "gun out of memory error--aborting\n");        return 1;    }    /* decompress each file to the same name with the suffix removed */    argc--;    argv++;    test = 0;    if (argc && strcmp(*argv, "-h") == 0) {        fprintf(stderr, "gun 1.3 (12 Jun 2005)\n");        fprintf(stderr, "Copyright (c) 2005 Mark Adler\n");        fprintf(stderr, "usage: gun [-t] [file1.gz [file2.Z ...]]\n");        return 0;    }    if (argc && strcmp(*argv, "-t") == 0) {        test = 1;        argc--;        argv++;    }    if (argc)        do {            if (test)                outname = NULL;            else {                len = (int)strlen(*argv);                if (strcmp(*argv + len - 3, ".gz") == 0 ||                    strcmp(*argv + len - 3, "-gz") == 0)                    len -= 3;                else if (strcmp(*argv + len - 2, ".z") == 0 ||                    strcmp(*argv + len - 2, "-z") == 0 ||                    strcmp(*argv + len - 2, "_z") == 0 ||                    strcmp(*argv + len - 2, ".Z") == 0)                    len -= 2;                else {                    fprintf(stderr, "gun error: no gz type on %s--skipping\n",                            *argv);                    continue;                }                outname = malloc(len + 1);                if (outname == NULL) {                    fprintf(stderr, "gun out of memory error--aborting\n");                    ret = 1;                    break;                }                memcpy(outname, *argv, len);                outname[len] = 0;            }            ret = gunzip(&strm, *argv, outname, test);            if (outname != NULL) free(outname);            if (ret) break;        } while (argv++, --argc);    else        ret = gunzip(&strm, NULL, NULL, test);    /* clean up */    inflateBackEnd(&strm);    return ret;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲电影你懂得| 亚洲一区二区四区蜜桃| 91精品国产欧美一区二区成人| 91亚洲国产成人精品一区二区三 | 中文字幕综合网| 国产精品久久精品日日| 自拍偷拍亚洲综合| 一区二区三区中文免费| 天堂资源在线中文精品| 日韩电影在线一区二区| 经典一区二区三区| 成人av在线一区二区三区| kk眼镜猥琐国模调教系列一区二区 | 欧美日韩视频不卡| 日韩欧美三级在线| 国产精品私人影院| 亚洲成a人在线观看| 久久精品国产亚洲一区二区三区| 国产精品18久久久久久久网站| 风流少妇一区二区| 欧美三级日韩三级| 精品国产三级a在线观看| 国产精品亲子伦对白| 亚洲成人免费电影| 国产成人免费网站| 欧美日韩另类一区| 国产亚洲一区字幕| 午夜视频一区二区三区| 丰满少妇久久久久久久| 在线视频国内自拍亚洲视频| 欧美成人精品高清在线播放| 亚洲三级久久久| 精品在线观看免费| 精品视频在线免费| 中文字幕一区二区三区在线播放| 亚洲成人资源网| 成人av资源站| 久久女同精品一区二区| 亚洲日本青草视频在线怡红院| 蜜臀av一级做a爰片久久| 99久久久精品| 久久综合久久综合亚洲| 亚洲一区二区三区四区在线| 成人永久免费视频| 欧美不卡在线视频| 五月天国产精品| 91国偷自产一区二区三区观看| 精品久久久影院| 日韩av一区二区三区| 在线视频一区二区三区| 国产精品夫妻自拍| 国内精品不卡在线| 91.com视频| 午夜精品视频一区| 一本久久a久久免费精品不卡| 国产视频在线观看一区二区三区 | 国产91丝袜在线观看| 91麻豆精品久久久久蜜臀| 一片黄亚洲嫩模| 91免费在线看| 一区二区三区精品视频| 95精品视频在线| 国产精品美女久久久久久| 国产精品12区| 久久综合资源网| 激情综合网av| 国产日韩一级二级三级| 九九**精品视频免费播放| 欧美一区三区四区| 日本成人在线看| 91精品国产一区二区| 日韩影视精彩在线| 欧美区视频在线观看| 亚洲精品国产成人久久av盗摄| 成人综合婷婷国产精品久久蜜臀| 国产亚洲人成网站| 国产精品亚洲一区二区三区妖精| 精品久久免费看| 国产91丝袜在线18| 中文字幕一区二区在线观看| 99热这里都是精品| 亚洲国产色一区| 91精品国产综合久久久久久 | 国产欧美精品在线观看| 成人一区二区三区视频在线观看| 国产精品午夜在线| 91黄色免费版| 日韩av成人高清| 久久天天做天天爱综合色| 国产91对白在线观看九色| 日韩理论电影院| 欧美丰满少妇xxxbbb| 国精品**一区二区三区在线蜜桃| 久久尤物电影视频在线观看| 波波电影院一区二区三区| 一区二区三区不卡在线观看| 欧美日本在线视频| 国产精品123| 一区二区在线看| 91精品婷婷国产综合久久竹菊| 久久不见久久见免费视频1| 国产日韩精品一区二区三区 | 日韩一区二区三区四区| 国产精品88888| 一个色综合av| 欧美日韩视频第一区| 国产剧情av麻豆香蕉精品| 中文字幕中文在线不卡住| 51精品国自产在线| 成人精品鲁一区一区二区| 亚洲bt欧美bt精品777| 国产日韩精品一区| 欧美日韩国产高清一区二区三区| 激情综合五月婷婷| 亚洲国产一区二区视频| 国产欧美综合在线| 91精品视频网| 国产福利91精品| 日韩av成人高清| 一区二区三区欧美| 国产视频不卡一区| 日韩色在线观看| 欧美在线999| 99视频精品免费视频| 精品一区二区国语对白| 亚洲国产精品一区二区久久| 国产精品午夜电影| 精品国产成人系列| 欧美久久久久免费| 欧美无人高清视频在线观看| 不卡一区二区三区四区| 激情六月婷婷久久| 免费成人av在线| 三级久久三级久久久| 一区二区三区毛片| 亚洲欧美电影院| 国产精品久久久久aaaa樱花| 久久婷婷成人综合色| 欧美本精品男人aⅴ天堂| 欧美妇女性影城| 在线成人av网站| 欧美视频一区二区| 欧美视频你懂的| 欧美亚洲图片小说| 在线观看视频欧美| 日本乱码高清不卡字幕| 91蜜桃网址入口| 色吧成人激情小说| 欧美日韩一区二区三区高清| 色婷婷亚洲综合| 在线视频国产一区| 欧美日韩免费不卡视频一区二区三区| 色综合久久久久综合体| 欧美最猛性xxxxx直播| 欧美在线免费观看视频| 7777精品伊人久久久大香线蕉的| 欧美色大人视频| 日韩一区二区免费高清| 亚洲精品在线三区| 久久久久成人黄色影片| 国产精品卡一卡二| 一区二区三区在线免费视频| 亚洲国产综合91精品麻豆| 日本中文字幕一区二区视频 | 久久人人超碰精品| 欧美国产乱子伦 | 日韩视频永久免费| 久久久精品天堂| 亚洲私人黄色宅男| 日韩精品欧美成人高清一区二区| 日本午夜精品视频在线观看| 美女网站在线免费欧美精品| 国产激情精品久久久第一区二区| www.亚洲免费av| 欧美日韩成人综合天天影院| 日韩欧美专区在线| 亚洲欧美中日韩| 视频一区中文字幕国产| 国产成人免费视频| 欧美唯美清纯偷拍| 国产日韩欧美综合一区| 午夜精品久久久久久久久| 国产一区二区导航在线播放| 99re成人精品视频| 日韩美女一区二区三区| 中文字幕一区二区视频| 免费观看91视频大全| 成人免费毛片嘿嘿连载视频| 欧美性猛片xxxx免费看久爱| www国产精品av| 亚洲成人三级小说| 成人av先锋影音| 日韩精品一区二区三区在线播放| 亚洲欧洲av一区二区三区久久| 日韩精品一二三区| 91麻豆国产福利在线观看| 欧美精品一区视频| 日韩电影免费在线| 91网站在线观看视频| 精品久久久影院|