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

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

?? gun.c

?? 一個本地database引擎,支持中文T_Sql查詢,兼容DELPHI標準數據庫控件
?? 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一区二区三区免费野_久草精品视频
不卡视频在线看| 国产精品一卡二卡在线观看| 国产suv精品一区二区三区| 中文字幕五月欧美| 欧美一区二区三区在线观看视频| 91精品久久久久久蜜臀| 亚洲国产日韩av| 国产一区二区成人久久免费影院| 国产精品影视网| 日韩三级高清在线| 成人免费观看av| 日本中文字幕一区二区视频| 日韩av一级电影| 一区二区三区四区蜜桃 | 日本中文字幕一区二区有限公司| 久久精品国产秦先生| 亚洲欧洲三级电影| 日韩视频国产视频| 亚洲天堂2014| 99免费精品在线观看| 美国毛片一区二区| 国产蜜臀97一区二区三区 | 亚洲午夜国产一区99re久久| 成人黄色国产精品网站大全在线免费观看 | 国产精品影视网| 91精品麻豆日日躁夜夜躁| 欧洲国内综合视频| 精品电影一区二区| 中文字幕在线播放不卡一区| 久久久久久麻豆| jlzzjlzz国产精品久久| 国产精品正在播放| 亚洲激情网站免费观看| 国产在线精品一区二区| 久久精品99国产精品日本| 奇米精品一区二区三区在线观看一| 国产91对白在线观看九色| 国产真实乱偷精品视频免| 日本成人在线一区| 国产欧美精品一区二区三区四区| 26uuu色噜噜精品一区| 福利一区在线观看| 亚洲一区二区三区中文字幕在线 | 亚洲国产精品麻豆| 伊人婷婷欧美激情| 亚洲成在线观看| 久久久久久久久伊人| 色婷婷激情综合| 欧美专区日韩专区| 午夜国产不卡在线观看视频| 久久久三级国产网站| 国产成人啪午夜精品网站男同| 一区二区三区蜜桃| 欧美日韩免费视频| 97久久精品人人澡人人爽| 成人午夜电影网站| 欧美精品tushy高清| 国产成人免费在线视频| 国产精品18久久久久久久网站| 国产成人精品免费在线| 欧美日韩国产bt| 欧美一级淫片007| 亚洲天堂免费在线观看视频| 91丨九色丨蝌蚪富婆spa| 国产精品女主播在线观看| 欧美在线制服丝袜| 美腿丝袜亚洲三区| 奇米在线7777在线精品| 久久这里只有精品6| 91精品啪在线观看国产60岁| 国产毛片精品视频| 精品国产一区a| 国产精品88888| 精品免费国产二区三区| 色综合夜色一区| av一区二区不卡| 日韩免费电影网站| 国产精品国产自产拍高清av王其 | 成人的网站免费观看| av亚洲精华国产精华精| 久久精品国产秦先生| 午夜亚洲福利老司机| 国产精品综合在线视频| 免费xxxx性欧美18vr| 国产91对白在线观看九色| 欧美午夜一区二区三区免费大片| 成人性生交大片| 欧美日韩日日摸| 视频一区二区国产| 午夜久久久久久电影| 日韩免费视频一区| 中文字幕在线观看一区| 欧美午夜精品免费| 国产精品一线二线三线精华| 亚洲精品成人少妇| 中文字幕一区视频| 久久精品国内一区二区三区| 日本精品视频一区二区| 色综合天天狠狠| 亚洲一区二区在线免费观看视频 | 午夜精品久久久久久久久| 国产精品日产欧美久久久久| 69堂成人精品免费视频| 91视频免费观看| 成人av综合一区| 日韩一区在线免费观看| 欧美日韩夫妻久久| 中文在线免费一区三区高中清不卡| 久久综合久久综合亚洲| 精品久久久三级丝袜| 天天亚洲美女在线视频| 日本精品免费观看高清观看| 国产精品免费视频一区| 激情综合网av| 国产精品久久久久久久久免费樱桃| 日韩一级黄色大片| 色综合久久久久综合体| 亚洲国产精品人人做人人爽| 国产高清不卡一区二区| 洋洋av久久久久久久一区| 五月天婷婷综合| 久久99最新地址| 国产精品热久久久久夜色精品三区| 五月婷婷色综合| ...中文天堂在线一区| 亚洲蜜臀av乱码久久精品| 国产精品一区免费视频| 裸体健美xxxx欧美裸体表演| 欧美性受xxxx| 国产揄拍国内精品对白| 欧美一级久久久久久久大片| 精品国产91乱码一区二区三区| 秋霞午夜av一区二区三区| 欧美人牲a欧美精品| 欧美videos中文字幕| 日本一区二区高清| 国产91对白在线观看九色| 国产欧美一区二区精品忘忧草| 欧美福利视频一区| 久久精品视频在线看| 国产传媒日韩欧美成人| 国产欧美一二三区| 顶级嫩模精品视频在线看| 国产精品色婷婷| 91在线视频免费观看| 中文字幕亚洲不卡| 色欧美乱欧美15图片| 精品亚洲porn| 视频一区二区三区入口| 678五月天丁香亚洲综合网| 麻豆精品在线播放| 99免费精品在线观看| 久久精品一区二区三区四区| 老司机精品视频线观看86| 成人动漫一区二区在线| 成人黄色片在线观看| 一区二区三区四区中文字幕| 欧美日韩精品一区二区三区 | 精品亚洲成av人在线观看| 91香蕉视频污| 亚洲电影一级黄| 欧美第一区第二区| 成人一级片网址| 欧美一区二区观看视频| 亚洲人快播电影网| 国产河南妇女毛片精品久久久 | 欧美日韩另类国产亚洲欧美一级| 视频在线观看国产精品| 久久网这里都是精品| 亚洲一区二区精品视频| 成人黄色在线视频| 91精品国产高清一区二区三区| 经典三级一区二区| 中文字幕一区二| 国产一区二区成人久久免费影院| 欧美日韩成人综合| 国产成人午夜精品影院观看视频 | 老司机一区二区| 国产精品久久久久久久久动漫| 91久久免费观看| 精一区二区三区| 欧美视频在线观看一区二区| 精品一区二区三区免费毛片爱| 国产精品福利在线播放| 国产91综合网| 国精产品一区一区三区mba桃花| 不卡的电视剧免费网站有什么| 91视视频在线观看入口直接观看www| 中文字幕一区二区三区视频| 蜜臀av国产精品久久久久| 精品日韩在线一区| 色综合天天综合给合国产| 亚洲男人的天堂一区二区| 一区二区三区在线影院| 热久久久久久久| 欧美巨大另类极品videosbest| 国产成人av影院| 成人av电影免费在线播放| 日韩二区三区四区| 亚洲精品乱码久久久久久日本蜜臀|