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

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

?? unzip.c

?? LINUX1.0源代碼,代碼條理清晰
?? C
字號:
/* unzip.c -- decompress files in gzip or pkzip format.
 * Copyright (C) 1992-1993 Jean-loup Gailly
 *
 * Adapted for Linux booting by Hannu Savolainen 1993
 *
 * This is free software; you can redistribute it and/or modify it under the
 * terms of the GNU General Public License, see the file COPYING.
 *
 * The code in this file is derived from the file funzip.c written
 * and put in the public domain by Mark Adler.
 */

/*
   This version can extract files in gzip or pkzip format.
   For the latter, only the first entry is extracted, and it has to be
   either deflated or stored.
 */

#ifndef lint
static char rcsid[] = "$Id: unzip.c,v 0.9 1993/02/10 16:07:22 jloup Exp $";
#endif

#include "gzip.h"
#include "crypt.h"

#include <stdio.h>

/* PKZIP header definitions */
#define LOCSIG 0x04034b50L      /* four-byte lead-in (lsb first) */
#define LOCFLG 6                /* offset of bit flag */
#define  CRPFLG 1               /*  bit for encrypted entry */
#define  EXTFLG 8               /*  bit for extended local header */
#define LOCHOW 8                /* offset of compression method */
#define LOCTIM 10               /* file mod time (for decryption) */
#define LOCCRC 14               /* offset of crc */
#define LOCSIZ 18               /* offset of compressed size */
#define LOCLEN 22               /* offset of uncompressed length */
#define LOCFIL 26               /* offset of file name field length */
#define LOCEXT 28               /* offset of extra field length */
#define LOCHDR 30               /* size of local header, including sig */
#define EXTHDR 16               /* size of extended local header, inc sig */


/* Globals */

int decrypt;      /* flag to turn on decryption */
char *key;        /* not used--needed to link crypt.c */
int pkzip = 0;    /* set for a pkzip file */
int extended = 0; /* set if extended local header */

/* ===========================================================================
 * Check zip file and advance inptr to the start of the compressed data.
 * Get ofname from the local header if necessary.
 */
int check_zipfile(in)
    int in;   /* input file descriptors */
{
    uch *h = inbuf + inptr; /* first local header */

    /* ifd = in; */

    /* Check validity of local header, and skip name and extra fields */
    inptr += LOCHDR + SH(h + LOCFIL) + SH(h + LOCEXT);

    if (inptr > insize || LG(h) != LOCSIG) {
	error("input not a zip");
    }
    method = h[LOCHOW];
    if (method != STORED && method != DEFLATED) {
	error("first entry not deflated or stored--can't extract");
    }

    /* If entry encrypted, decrypt and validate encryption header */
    if ((decrypt = h[LOCFLG] & CRPFLG) != 0) {
	error("encrypted file\n");
	exit_code = ERROR;
	return -1;
    }

    /* Save flags for unzip() */
    extended = (h[LOCFLG] & EXTFLG) != 0;
    pkzip = 1;

    /* Get ofname and time stamp from local header (to be done) */
    return 0;
}

/* ===========================================================================
 * Unzip in to out.  This routine works on both gzip and pkzip files.
 *
 * IN assertions: the buffer inbuf contains already the beginning of
 *   the compressed data, from offsets inptr to insize-1 included.
 *   The magic header has already been checked. The output buffer is cleared.
 */
void unzip(in, out)
    int in, out;   /* input and output file descriptors */
{
    ulg orig_crc = 0;       /* original crc */
    ulg orig_len = 0;       /* original uncompressed length */
    int n;
    uch buf[EXTHDR];        /* extended local header */

    /* ifd = in;
    ofd = out; */

    updcrc(NULL, 0);           /* initialize crc */

    if (pkzip && !extended) {  /* crc and length at the end otherwise */
	orig_crc = LG(inbuf + LOCCRC);
	orig_len = LG(inbuf + LOCLEN);
    }

    /* Decompress */
    if (method == DEFLATED)  {

	int res = inflate();

	if (res == 3) {
	    error("out of memory");
	} else if (res != 0) {
	    error("invalid compressed format");
	}

    } else if (pkzip && method == STORED) {

	register ulg n = LG(inbuf + LOCLEN);

	if (n != LG(inbuf + LOCSIZ) - (decrypt ? RAND_HEAD_LEN : 0)) {

	    error("length mismatch");
	}
	while (n--) {
	    uch c = (uch)get_byte();
#ifdef CRYPT
	    if (decrypt) zdecode(c);
#endif
	    if (!test) put_char(c);
	}
    } else {
	error("internal error, invalid method");
    }

    /* Get the crc and original length */
    if (!pkzip) {
        /* crc32  (see algorithm.doc)
	 * uncompressed input size modulo 2^32
         */
	for (n = 0; n < 8; n++) {
	    buf[n] = (uch)get_byte(); /* may cause an error if EOF */
	}
	orig_crc = LG(buf);
	orig_len = LG(buf+4);

    } else if (extended) {  /* If extended header, check it */
	/* signature - 4bytes: 0x50 0x4b 0x07 0x08
	 * CRC-32 value
         * compressed size 4-bytes
         * uncompressed size 4-bytes
	 */
	for (n = 0; n < EXTHDR; n++) {
	    buf[n] = (uch)get_byte(); /* may cause an error if EOF */
	}
	orig_crc = LG(buf+4);
	orig_len = LG(buf+12);
    }

    /* Validate decompression */
    if (orig_crc != updcrc(outbuf, 0)) {
	error("crc error");
    }
    if (orig_len != bytes_out) {
	error("length error");
    }

    /* Check if there are more entries in a pkzip file */
    if (pkzip && inptr + 4 < insize && LG(inbuf+inptr) == LOCSIG) {
	    error("zip file has more than one entry");
    }
    extended = pkzip = 0; /* for next file */
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91福利在线导航| 国产成人综合在线播放| 日韩美女啊v在线免费观看| 精品国产第一区二区三区观看体验| 欧美精品三级日韩久久| 欧美天天综合网| 欧美日韩aaaaaa| 欧美日韩在线电影| 在线不卡中文字幕播放| 在线不卡a资源高清| 欧美卡1卡2卡| 日韩欧美成人午夜| 久久一夜天堂av一区二区三区| 久久综合九色综合97婷婷| 欧美电影免费提供在线观看| 欧美精品一区二区三区蜜桃| 精品福利在线导航| 国产精品免费视频观看| 亚洲欧美另类在线| 天天操天天干天天综合网| 蜜桃av一区二区| 国产一区二区三区四区在线观看| 国产福利精品导航| 色狠狠桃花综合| 91精品国产一区二区人妖| 久久久另类综合| 亚洲精品视频在线观看免费| 午夜伦欧美伦电影理论片| 免费av成人在线| 成人性生交大片免费看视频在线| 91在线视频18| 日韩一区二区麻豆国产| 国产精品久久久一区麻豆最新章节| 一区二区三区四区高清精品免费观看 | 亚洲一区二区综合| 日韩精品一二三| 粉嫩嫩av羞羞动漫久久久| 色综合天天综合网天天狠天天| 欧美高清hd18日本| 国产日韩欧美综合在线| 亚洲动漫第一页| 成人高清伦理免费影院在线观看| 欧美精品自拍偷拍动漫精品| 国产日韩欧美在线一区| 偷拍自拍另类欧美| 99精品久久免费看蜜臀剧情介绍| 欧美一区二区免费视频| 综合久久综合久久| 久久97超碰色| 欧美日韩黄视频| 椎名由奈av一区二区三区| 蜜臀av一区二区在线观看| 一本一道久久a久久精品综合蜜臀| 日韩一区二区三区电影在线观看 | 亚洲成人精品一区二区| 国产99精品在线观看| 欧美日韩性生活| 亚洲免费高清视频在线| 国产主播一区二区三区| 5858s免费视频成人| 亚洲精品中文字幕乱码三区| 国产成人99久久亚洲综合精品| 欧美久久久影院| 亚洲一区二区在线免费看| av一区二区三区四区| www成人在线观看| 免费在线观看成人| 欧美日韩在线观看一区二区 | 日韩欧美亚洲一区二区| 亚洲成人在线观看视频| 在线视频欧美精品| 日韩毛片在线免费观看| 91在线观看污| 国产精品乱码妇女bbbb| 国产精品中文字幕日韩精品| 91精品蜜臀在线一区尤物| 性欧美大战久久久久久久久| 日本久久电影网| 亚洲精品v日韩精品| 91国偷自产一区二区三区成为亚洲经典| 中文字幕一区二区三区四区不卡 | 日韩av在线发布| 欧美日本在线播放| 婷婷久久综合九色综合伊人色| 欧美在线不卡一区| 亚洲bt欧美bt精品777| 欧美在线影院一区二区| 亚洲mv在线观看| 91精品国产欧美日韩| 毛片av中文字幕一区二区| 欧美精品一区二区三区一线天视频| 韩国三级中文字幕hd久久精品| 久久久久久电影| 不卡一区在线观看| 亚洲精品综合在线| 欧美一区二区三区的| 精品午夜一区二区三区在线观看| 久久老女人爱爱| 风间由美一区二区三区在线观看| 国产精品久久久久一区二区三区| 色综合久久66| 日韩av高清在线观看| 久久久国产综合精品女国产盗摄| 高清不卡一区二区| 亚洲国产欧美日韩另类综合 | 国产午夜久久久久| 97se亚洲国产综合自在线| 亚洲国产精品尤物yw在线观看| 日韩欧美亚洲一区二区| 成人高清在线视频| 午夜视频久久久久久| 精品国产第一区二区三区观看体验| av网站免费线看精品| 爽爽淫人综合网网站 | 成人福利电影精品一区二区在线观看| 最新日韩av在线| 日韩欧美的一区二区| 色诱亚洲精品久久久久久| 精品夜夜嗨av一区二区三区| 亚洲图片欧美激情| 日韩精品一区二区三区视频在线观看| 91色九色蝌蚪| 国产乱子轮精品视频| 一区二区三区欧美激情| 久久综合九色综合97婷婷| 欧美三级电影在线观看| 99久久精品国产观看| 国产一区二区精品久久91| 天堂av在线一区| 亚洲精品乱码久久久久久日本蜜臀| 精品毛片乱码1区2区3区| 欧美亚洲动漫另类| 在线亚洲人成电影网站色www| 五月天一区二区| 综合久久一区二区三区| 国产拍欧美日韩视频二区| 91精品国产综合久久国产大片| 91九色02白丝porn| 成人精品gif动图一区| 欧美日韩dvd在线观看| 国产精品自产自拍| 国内久久婷婷综合| 婷婷国产在线综合| 亚洲摸摸操操av| 欧美国产日产图区| 久久综合九色综合久久久精品综合| 91麻豆精品国产91久久久资源速度 | 国产亚洲一二三区| 久久伊99综合婷婷久久伊| 日韩精品一区二区三区swag| 欧美一区欧美二区| 91精品国产91久久久久久最新毛片| 欧美日韩中文精品| 欧美日韩视频第一区| 欧美在线观看18| 欧美日韩1234| 欧美一区二区网站| 欧美一区二区三区婷婷月色| 欧美日韩大陆在线| 欧美精品久久久久久久多人混战 | 2023国产一二三区日本精品2022| 欧美二区乱c少妇| 欧美一级艳片视频免费观看| 欧美顶级少妇做爰| 91麻豆精品国产综合久久久久久| 日韩色在线观看| 欧美一级一区二区| 亚洲精品在线免费播放| 欧美国产日产图区| 日韩伦理免费电影| 亚洲第一会所有码转帖| 美女免费视频一区| 国产乱码精品一区二区三区av| 国产精品香蕉一区二区三区| 成人va在线观看| 欧美一区二区视频在线观看 | 精品毛片乱码1区2区3区| 精品久久久久久亚洲综合网 | 91麻豆产精品久久久久久 | 欧美视频一区二区三区四区| 欧美精品精品一区| 精品久久久久久久久久久院品网| 中文字幕+乱码+中文字幕一区| 18欧美乱大交hd1984| 无码av中文一区二区三区桃花岛| 美女网站在线免费欧美精品| 成人91在线观看| 欧美一级理论性理论a| 欧美精品一区二区三区一线天视频 | 一区二区三区欧美日韩| 奇米在线7777在线精品| 国产久卡久卡久卡久卡视频精品| 91浏览器打开| 日韩视频123| 一区二区国产视频| 国产精品亚洲一区二区三区妖精| 欧美亚洲综合久久| 久久婷婷色综合| 午夜精品福利视频网站| 成人av在线一区二区|