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

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

?? unzip.c

?? emacs的一個(gè)非常有用的插件,叫xrefactory,可以實(shí)現(xiàn)source insight里的那種函數(shù)跳轉(zhuǎn).和cscope(跳回來不方便)配合使用,非常的不錯(cuò).
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* unzip.c -- IO on .zip files using zlib    Version 0.15 beta, Mar 19th, 1998,   Read unzip.h for more info*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include "zlib.h"#include "unzip.h"#ifdef STDC#  include <stddef.h>#  include <string.h>#  include <stdlib.h>#endif#ifdef NO_ERRNO_H    extern int errno;#else#   include <errno.h>#endif#ifndef local#  define local static#endif/* compile with -Dlocal if your debugger can't find static symbols */#if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES) && \                      !defined(CASESENSITIVITYDEFAULT_NO)#define CASESENSITIVITYDEFAULT_NO#endif#ifndef UNZ_BUFSIZE#define UNZ_BUFSIZE (16384)#endif#ifndef UNZ_MAXFILENAMEINZIP#define UNZ_MAXFILENAMEINZIP (256)#endif#ifndef ALLOC# define ALLOC(size) (malloc(size))#endif#ifndef TRYFREE# define TRYFREE(p) {if (p) free(p);}#endif#define SIZECENTRALDIRITEM (0x2e)#define SIZEZIPLOCALHEADER (0x1e)/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */#ifndef SEEK_CUR#define SEEK_CUR    1#endif#ifndef SEEK_END#define SEEK_END    2#endif#ifndef SEEK_SET#define SEEK_SET    0#endifconst char unz_copyright[] =   " unzip 0.15 Copyright 1998 Gilles Vollant ";/* unz_file_info_interntal contain internal info about a file in zipfile*/typedef struct unz_file_info_internal_s{    uLong offset_curfile;/* relative offset of local header 4 bytes */} unz_file_info_internal;/* file_in_zip_read_info_s contain internal information about a file in zipfile,    when reading and decompress it */typedef struct{	char  *read_buffer;         /* internal buffer for compressed data */	z_stream stream;            /* zLib stream structure for inflate */	uLong pos_in_zipfile;       /* position in byte on the zipfile, for fseek*/	uLong stream_initialised;   /* flag set if stream structure is initialised*/	uLong offset_local_extrafield;/* offset of the local extra field */	uInt  size_local_extrafield;/* size of the local extra field */	uLong pos_local_extrafield;   /* position in the local extra field in read*/	uLong crc32;                /* crc32 of all data uncompressed */	uLong crc32_wait;           /* crc32 we must obtain after decompress all */	uLong rest_read_compressed; /* number of byte to be decompressed */	uLong rest_read_uncompressed;/*number of byte to be obtained after decomp*/	FILE* file;                 /* io structore of the zipfile */	uLong compression_method;   /* compression method (0==store) */	uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/} file_in_zip_read_info_s;/* unz_s contain internal information about the zipfile*/typedef struct{	FILE* file;                 /* io structore of the zipfile */	unz_global_info gi;       /* public global information */	uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/	uLong num_file;             /* number of the current file in the zipfile*/	uLong pos_in_central_dir;   /* pos of the current file in the central dir*/	uLong current_file_ok;      /* flag about the usability of the current file*/	uLong central_pos;          /* position of the beginning of the central dir*/	uLong size_central_dir;     /* size of the central directory  */	uLong offset_central_dir;   /* offset of start of central directory with								   respect to the starting disk number */	unz_file_info cur_file_info; /* public info about the current file in zip*/	unz_file_info_internal cur_file_info_internal; /* private info about it*/    file_in_zip_read_info_s* pfile_in_zip_read; /* structure about the current	                                    file if we are decompressing it */} unz_s;/* ===========================================================================     Read a byte from a gz_stream; update next_in and avail_in. Return EOF   for end of file.   IN assertion: the stream s has been sucessfully opened for reading.*/local int unzlocal_getByte(fin,pi)	FILE *fin;	int *pi;{    unsigned char c;	int err = fread(&c, 1, 1, fin);    if (err==1)    {        *pi = (int)c;        return UNZ_OK;    }    else    {        if (ferror(fin))             return UNZ_ERRNO;        else            return UNZ_EOF;    }}/* ===========================================================================   Reads a long in LSB order from the given gz_stream. Sets */local int unzlocal_getShort (fin,pX)	FILE* fin;    uLong *pX;{    uLong x ;    int i;    int err;    err = unzlocal_getByte(fin,&i);    x = (uLong)i;        if (err==UNZ_OK)        err = unzlocal_getByte(fin,&i);    x += ((uLong)i)<<8;       if (err==UNZ_OK)        *pX = x;    else        *pX = 0;    return err;}local int unzlocal_getLong (fin,pX)	FILE* fin;    uLong *pX;{    uLong x ;    int i;    int err;    err = unzlocal_getByte(fin,&i);    x = (uLong)i;        if (err==UNZ_OK)        err = unzlocal_getByte(fin,&i);    x += ((uLong)i)<<8;    if (err==UNZ_OK)        err = unzlocal_getByte(fin,&i);    x += ((uLong)i)<<16;    if (err==UNZ_OK)        err = unzlocal_getByte(fin,&i);    x += ((uLong)i)<<24;       if (err==UNZ_OK)        *pX = x;    else        *pX = 0;    return err;}/* My own strcmpi / strcasecmp */local int strcmpcasenosensitive_internal (fileName1,fileName2)	const char* fileName1;	const char* fileName2;{	for (;;)	{		char c1=*(fileName1++);		char c2=*(fileName2++);		if ((c1>='a') && (c1<='z'))			c1 -= 0x20;		if ((c2>='a') && (c2<='z'))			c2 -= 0x20;		if (c1=='\0')			return ((c2=='\0') ? 0 : -1);		if (c2=='\0')			return 1;		if (c1<c2)			return -1;		if (c1>c2)			return 1;	}}#ifdef  CASESENSITIVITYDEFAULT_NO#define CASESENSITIVITYDEFAULTVALUE 2#else#define CASESENSITIVITYDEFAULTVALUE 1#endif#ifndef STRCMPCASENOSENTIVEFUNCTION#define STRCMPCASENOSENTIVEFUNCTION strcmpcasenosensitive_internal#endif/*    Compare two filename (fileName1,fileName2).   If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)   If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi                                                                or strcasecmp)   If iCaseSenisivity = 0, case sensitivity is defaut of your operating system        (like 1 on Unix, 2 on Windows)*/extern int ZEXPORT unzStringFileNameCompare (fileName1,fileName2,iCaseSensitivity)	const char* fileName1;	const char* fileName2;	int iCaseSensitivity;{	if (iCaseSensitivity==0)		iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE;	if (iCaseSensitivity==1)		return strcmp(fileName1,fileName2);	return STRCMPCASENOSENTIVEFUNCTION(fileName1,fileName2);} #define BUFREADCOMMENT (0x400)/*  Locate the Central directory of a zipfile (at the end, just before    the global comment)*/local uLong unzlocal_SearchCentralDir(fin)	FILE *fin;{	unsigned char* buf;	uLong uSizeFile;	uLong uBackRead;	uLong uMaxBack=0xffff; /* maximum size of global comment */	uLong uPosFound=0;		if (fseek(fin,0,SEEK_END) != 0)		return 0;	uSizeFile = ftell( fin );		if (uMaxBack>uSizeFile)		uMaxBack = uSizeFile;	buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4);	if (buf==NULL)		return 0;	uBackRead = 4;	while (uBackRead<uMaxBack)	{		uLong uReadSize,uReadPos ;		int i;		if (uBackRead+BUFREADCOMMENT>uMaxBack) 			uBackRead = uMaxBack;		else			uBackRead+=BUFREADCOMMENT;		uReadPos = uSizeFile-uBackRead ;				uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ?                      (BUFREADCOMMENT+4) : (uSizeFile-uReadPos);		if (fseek(fin,uReadPos,SEEK_SET)!=0)			break;		if (fread(buf,(uInt)uReadSize,1,fin)!=1)			break;                for (i=(int)uReadSize-3; (i--)>0;)			if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && 				((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06))			{				uPosFound = uReadPos+i;				break;			}		if (uPosFound!=0)			break;	}	TRYFREE(buf);	return uPosFound;}/*  Open a Zip file. path contain the full pathname (by example,     on a Windows NT computer "c:\\test\\zlib109.zip" or on an Unix computer	 "zlib/zlib109.zip".	 If the zipfile cannot be opened (file don't exist or in not valid), the	   return value is NULL.     Else, the return value is a unzFile Handle, usable with other function	   of this unzip package.*/extern unzFile ZEXPORT unzOpen (path)	const char *path;{	unz_s us;	unz_s *s;	uLong central_pos,uL;	FILE * fin ;	uLong number_disk;          /* number of the current dist, used for 								   spaning ZIP, unsupported, always 0*/	uLong number_disk_with_CD;  /* number the the disk with central dir, used								   for spaning ZIP, unsupported, always 0*/	uLong number_entry_CD;      /* total number of entries in	                               the central dir 	                               (same than number_entry on nospan) */	int err=UNZ_OK;    if (unz_copyright[0]!=' ')        return NULL;    fin=fopen(path,"rb");	if (fin==NULL)		return NULL;	central_pos = unzlocal_SearchCentralDir(fin);	if (central_pos==0)		err=UNZ_ERRNO;	if (fseek(fin,central_pos,SEEK_SET)!=0)		err=UNZ_ERRNO;	/* the signature, already checked */	if (unzlocal_getLong(fin,&uL)!=UNZ_OK)		err=UNZ_ERRNO;	/* number of this disk */	if (unzlocal_getShort(fin,&number_disk)!=UNZ_OK)		err=UNZ_ERRNO;	/* number of the disk with the start of the central directory */	if (unzlocal_getShort(fin,&number_disk_with_CD)!=UNZ_OK)		err=UNZ_ERRNO;	/* total number of entries in the central dir on this disk */	if (unzlocal_getShort(fin,&us.gi.number_entry)!=UNZ_OK)		err=UNZ_ERRNO;	/* total number of entries in the central dir */	if (unzlocal_getShort(fin,&number_entry_CD)!=UNZ_OK)		err=UNZ_ERRNO;	if ((number_entry_CD!=us.gi.number_entry) ||		(number_disk_with_CD!=0) ||		(number_disk!=0))		err=UNZ_BADZIPFILE;	/* size of the central directory */	if (unzlocal_getLong(fin,&us.size_central_dir)!=UNZ_OK)		err=UNZ_ERRNO;	/* offset of start of central directory with respect to the 	      starting disk number */	if (unzlocal_getLong(fin,&us.offset_central_dir)!=UNZ_OK)		err=UNZ_ERRNO;	/* zipfile comment length */	if (unzlocal_getShort(fin,&us.gi.size_comment)!=UNZ_OK)		err=UNZ_ERRNO;	if ((central_pos<us.offset_central_dir+us.size_central_dir) && 		(err==UNZ_OK))		err=UNZ_BADZIPFILE;	if (err!=UNZ_OK)	{		fclose(fin);		return NULL;	}	us.file=fin;	us.byte_before_the_zipfile = central_pos -		                    (us.offset_central_dir+us.size_central_dir);	us.central_pos = central_pos;    us.pfile_in_zip_read = NULL;		s=(unz_s*)ALLOC(sizeof(unz_s));	*s=us;	unzGoToFirstFile((unzFile)s);		return (unzFile)s;	

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美国毛片一区二区三区| 国产一区在线视频| 日韩毛片一二三区| 久久久精品黄色| 日韩欧美一级片| 日韩一区国产二区欧美三区| 欧美色涩在线第一页| 成人avav在线| 国产99精品在线观看| 激情综合网最新| 国产伦理精品不卡| 国产美女视频91| 国产成人精品1024| 成人爽a毛片一区二区免费| 国内久久精品视频| 国产一区美女在线| 成人高清在线视频| 91丨porny丨中文| 91蝌蚪国产九色| 欧美三级一区二区| 日韩精品专区在线影院重磅| 欧美一区二区三区视频在线| 久久综合九色欧美综合狠狠| 中文字幕第一区二区| 亚洲欧美一区二区三区久本道91 | 欧美激情中文字幕一区二区| 精品sm捆绑视频| 国产精品国产精品国产专区不蜜 | 国产麻豆精品在线| 成人av电影在线| 欧美日韩国产精选| 中日韩av电影| 一区二区三区**美女毛片| 亚洲成人av在线电影| 久久99热这里只有精品| av中文字幕一区| 91麻豆精品国产91久久久久久久久| 精品电影一区二区| 亚洲福利视频一区| 欧美xingq一区二区| 国产精品久久久久影视| 久久狠狠亚洲综合| 91久久精品国产91性色tv| 久久综合久久综合久久| 性感美女极品91精品| 成人免费看视频| 久久婷婷国产综合国色天香| 亚洲国产精品麻豆| 色综合天天综合网国产成人综合天| 91精品国产综合久久精品图片| 国产精品初高中害羞小美女文| 久久精品国产一区二区三区免费看| 久久久久国产一区二区三区四区 | 婷婷亚洲久悠悠色悠在线播放| 成人免费高清在线观看| 久久亚洲春色中文字幕久久久| 青娱乐精品在线视频| 在线不卡中文字幕播放| 一区二区三区四区在线播放 | 毛片不卡一区二区| 欧美日韩一级大片网址| 一区二区三区中文字幕精品精品 | 91色porny蝌蚪| 中文字幕亚洲不卡| 国产伦理精品不卡| 国产人成一区二区三区影院| 国产精品一品视频| 国产亚洲精品bt天堂精选| 国产精品18久久久久久久久久久久| 精品国产污网站| 国产精品亚洲人在线观看| 欧美电影免费观看完整版| 欧美三区在线观看| 欧美一级一级性生活免费录像| 亚洲一区二区在线视频| 在线成人免费视频| 久久激情五月婷婷| 欧美国产日本视频| 在线免费观看日韩欧美| 美女任你摸久久| 中文字幕国产精品一区二区| 色婷婷av一区二区三区大白胸| 亚洲午夜一二三区视频| 2023国产精品| 在线观看日韩一区| 精品一区二区三区影院在线午夜| 国产日韩视频一区二区三区| 91精品办公室少妇高潮对白| 蜜桃视频免费观看一区| 欧美精彩视频一区二区三区| 欧美日韩一级视频| 成人一级黄色片| 91视频.com| 国产91清纯白嫩初高中在线观看 | 99久久精品免费观看| 日韩成人精品在线观看| 亚洲精品国产第一综合99久久| 日韩一区二区电影网| 91视视频在线观看入口直接观看www| 亚洲国产成人va在线观看天堂| 久久午夜电影网| 欧美一区永久视频免费观看| 91香蕉视频mp4| 国产91精品一区二区麻豆亚洲| 日本不卡的三区四区五区| 一区二区高清免费观看影视大全 | 亚洲精品一区二区三区99| 欧美日韩一区二区三区视频| 91丝袜美女网| av欧美精品.com| 成人免费福利片| 国产成人亚洲综合a∨猫咪| 日本vs亚洲vs韩国一区三区二区| 一区二区三区四区高清精品免费观看 | 色婷婷精品久久二区二区蜜臀av| 国产成人h网站| 成人性生交大片免费看在线播放| 激情综合一区二区三区| 韩国女主播成人在线| 美女精品一区二区| 九九精品视频在线看| 国内精品久久久久影院色 | 精品少妇一区二区| 2017欧美狠狠色| 国产精品伦理一区二区| 国产精品久线在线观看| 亚洲色图视频网站| 亚洲高清在线视频| 美女被吸乳得到大胸91| 国产伦精品一区二区三区免费迷 | 亚洲国产日韩精品| 免费人成在线不卡| 国产乱人伦偷精品视频不卡 | 欧美性感一区二区三区| 777xxx欧美| 国产目拍亚洲精品99久久精品| 最新欧美精品一区二区三区| 五月婷婷色综合| 国产精品538一区二区在线| 色诱视频网站一区| 日韩视频在线观看一区二区| 国产精品视频yy9299一区| 一区二区三区四区在线免费观看| 奇米888四色在线精品| 99精品欧美一区二区三区综合在线| 欧美三级视频在线观看| 国产午夜一区二区三区| 天堂影院一区二区| 色综合久久久网| 国产欧美一区二区精品忘忧草| 亚洲国产精品一区二区久久| 成人av电影在线网| 2023国产精品自拍| 麻豆视频一区二区| 欧美日本一区二区三区| 亚洲日本韩国一区| 成人爱爱电影网址| 欧美国产国产综合| 极品尤物av久久免费看| 在线成人av影院| 亚洲成人在线网站| 欧美影院一区二区三区| 亚洲另类中文字| 91美女在线观看| 亚洲欧美日本在线| 91精品91久久久中77777| 一区二区中文字幕在线| 波波电影院一区二区三区| 国产亚洲精品福利| 成人国产视频在线观看| 久久精品视频免费| 成人一区二区三区视频 | 男男成人高潮片免费网站| 欧美视频日韩视频在线观看| 亚洲亚洲精品在线观看| 欧美日韩国产一级片| 看电视剧不卡顿的网站| 久久综合国产精品| 成人av电影在线网| 亚洲一区二三区| 欧美一级在线视频| 国产ts人妖一区二区| 中文字幕一区二区在线观看| 91亚洲男人天堂| 免费人成精品欧美精品 | 国产在线视频不卡二| 国产精品午夜在线| 欧美日韩一区三区| 国产精品一区免费在线观看| 亚洲欧美在线视频| 7777女厕盗摄久久久| 国产成人aaa| 偷拍亚洲欧洲综合| 中文字幕乱码一区二区免费| 欧美午夜不卡视频| 国产乱一区二区| 日韩电影一区二区三区| 中文字幕亚洲区| 久久在线免费观看| 在线综合视频播放|