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

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

?? unzip.c

?? 這是一個兼容C++標(biāo)準(zhǔn)的IO流接口
?? C
?? 第 1 頁 / 共 3 頁
字號:
}


/*
  Close a ZipFile opened with unzipOpen.
  If there is files inside the .Zip opened with unzipOpenCurrentFile (see later),
    these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
  return UNZ_OK if there is no problem. */
extern int ZEXPORT unzClose (file)
	unzFile file;
{
	unz_s* s;
	if (file==NULL)
		return UNZ_PARAMERROR;
	s=(unz_s*)file;

    if (s->pfile_in_zip_read!=NULL)
        unzCloseCurrentFile(file);

	fclose(s->file);
	TRYFREE(s);
	return UNZ_OK;
}


/*
  Write info about the ZipFile in the *pglobal_info structure.
  No preparation of the structure is needed
  return UNZ_OK if there is no problem. */
extern int ZEXPORT unzGetGlobalInfo (file,pglobal_info)
	unzFile file;
	unz_global_info *pglobal_info;
{
	unz_s* s;
	if (file==NULL)
		return UNZ_PARAMERROR;
	s=(unz_s*)file;
	*pglobal_info=s->gi;
	return UNZ_OK;
}


/*
   Translate date/time from Dos format to tm_unz (readable more easilty)
*/
local void unzlocal_DosDateToTmuDate (ulDosDate, ptm)
    uLong ulDosDate;
    tm_unz* ptm;
{
    uLong uDate;
    uDate = (uLong)(ulDosDate>>16);
    ptm->tm_mday = (uInt)(uDate&0x1f) ;
    ptm->tm_mon =  (uInt)((((uDate)&0x1E0)/0x20)-1) ;
    ptm->tm_year = (uInt)(((uDate&0x0FE00)/0x0200)+1980) ;

    ptm->tm_hour = (uInt) ((ulDosDate &0xF800)/0x800);
    ptm->tm_min =  (uInt) ((ulDosDate&0x7E0)/0x20) ;
    ptm->tm_sec =  (uInt) (2*(ulDosDate&0x1f)) ;
}

/*
  Get Info about the current file in the zipfile, with internal only info
*/
local int unzlocal_GetCurrentFileInfoInternal OF((unzFile file,
                                                  unz_file_info *pfile_info,
                                                  unz_file_info_internal 
                                                  *pfile_info_internal,
                                                  char *szFileName,
												  uLong fileNameBufferSize,
                                                  void *extraField,
												  uLong extraFieldBufferSize,
                                                  char *szComment,
												  uLong commentBufferSize));

local int unzlocal_GetCurrentFileInfoInternal (file,
                                              pfile_info,
                                              pfile_info_internal,
                                              szFileName, fileNameBufferSize,
                                              extraField, extraFieldBufferSize,
                                              szComment,  commentBufferSize)
	unzFile file;
	unz_file_info *pfile_info;
	unz_file_info_internal *pfile_info_internal;
	char *szFileName;
	uLong fileNameBufferSize;
	void *extraField;
	uLong extraFieldBufferSize;
	char *szComment;
	uLong commentBufferSize;
{
	unz_s* s;
	unz_file_info file_info;
	unz_file_info_internal file_info_internal;
	int err=UNZ_OK;
	uLong uMagic;
	long lSeek=0;

	if (file==NULL)
		return UNZ_PARAMERROR;
	s=(unz_s*)file;
	if (fseek(s->file,s->pos_in_central_dir+s->byte_before_the_zipfile,SEEK_SET)!=0)
		err=UNZ_ERRNO;


	/* we check the magic */
	if (err==UNZ_OK)
		if (unzlocal_getLong(s->file,&uMagic) != UNZ_OK)
			err=UNZ_ERRNO;
		else if (uMagic!=0x02014b50)
			err=UNZ_BADZIPFILE;

	if (unzlocal_getShort(s->file,&file_info.version) != UNZ_OK)
		err=UNZ_ERRNO;

	if (unzlocal_getShort(s->file,&file_info.version_needed) != UNZ_OK)
		err=UNZ_ERRNO;

	if (unzlocal_getShort(s->file,&file_info.flag) != UNZ_OK)
		err=UNZ_ERRNO;

	if (unzlocal_getShort(s->file,&file_info.compression_method) != UNZ_OK)
		err=UNZ_ERRNO;

	if (unzlocal_getLong(s->file,&file_info.dosDate) != UNZ_OK)
		err=UNZ_ERRNO;

    unzlocal_DosDateToTmuDate(file_info.dosDate,&file_info.tmu_date);

	if (unzlocal_getLong(s->file,&file_info.crc) != UNZ_OK)
		err=UNZ_ERRNO;

	if (unzlocal_getLong(s->file,&file_info.compressed_size) != UNZ_OK)
		err=UNZ_ERRNO;

	if (unzlocal_getLong(s->file,&file_info.uncompressed_size) != UNZ_OK)
		err=UNZ_ERRNO;

	if (unzlocal_getShort(s->file,&file_info.size_filename) != UNZ_OK)
		err=UNZ_ERRNO;

	if (unzlocal_getShort(s->file,&file_info.size_file_extra) != UNZ_OK)
		err=UNZ_ERRNO;

	if (unzlocal_getShort(s->file,&file_info.size_file_comment) != UNZ_OK)
		err=UNZ_ERRNO;

	if (unzlocal_getShort(s->file,&file_info.disk_num_start) != UNZ_OK)
		err=UNZ_ERRNO;

	if (unzlocal_getShort(s->file,&file_info.internal_fa) != UNZ_OK)
		err=UNZ_ERRNO;

	if (unzlocal_getLong(s->file,&file_info.external_fa) != UNZ_OK)
		err=UNZ_ERRNO;

	if (unzlocal_getLong(s->file,&file_info_internal.offset_curfile) != UNZ_OK)
		err=UNZ_ERRNO;

	lSeek+=file_info.size_filename;
	if ((err==UNZ_OK) && (szFileName!=NULL))
	{
		uLong uSizeRead ;
		if (file_info.size_filename<fileNameBufferSize)
		{
			*(szFileName+file_info.size_filename)='\0';
			uSizeRead = file_info.size_filename;
		}
		else
			uSizeRead = fileNameBufferSize;

		if ((file_info.size_filename>0) && (fileNameBufferSize>0))
			if (fread(szFileName,(uInt)uSizeRead,1,s->file)!=1)
				err=UNZ_ERRNO;
		lSeek -= uSizeRead;
	}

	
	if ((err==UNZ_OK) && (extraField!=NULL))
	{
		uLong uSizeRead ;
		if (file_info.size_file_extra<extraFieldBufferSize)
			uSizeRead = file_info.size_file_extra;
		else
			uSizeRead = extraFieldBufferSize;

		if (lSeek!=0)
			if (fseek(s->file,lSeek,SEEK_CUR)==0)
				lSeek=0;
			else
				err=UNZ_ERRNO;
		if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0))
			if (fread(extraField,(uInt)uSizeRead,1,s->file)!=1)
				err=UNZ_ERRNO;
		lSeek += file_info.size_file_extra - uSizeRead;
	}
	else
		lSeek+=file_info.size_file_extra; 

	
	if ((err==UNZ_OK) && (szComment!=NULL))
	{
		uLong uSizeRead ;
		if (file_info.size_file_comment<commentBufferSize)
		{
			*(szComment+file_info.size_file_comment)='\0';
			uSizeRead = file_info.size_file_comment;
		}
		else
			uSizeRead = commentBufferSize;

		if (lSeek!=0)
			if (fseek(s->file,lSeek,SEEK_CUR)==0)
				lSeek=0;
			else
				err=UNZ_ERRNO;
		if ((file_info.size_file_comment>0) && (commentBufferSize>0))
			if (fread(szComment,(uInt)uSizeRead,1,s->file)!=1)
				err=UNZ_ERRNO;
		lSeek+=file_info.size_file_comment - uSizeRead;
	}
	else
		lSeek+=file_info.size_file_comment;

	if ((err==UNZ_OK) && (pfile_info!=NULL))
		*pfile_info=file_info;

	if ((err==UNZ_OK) && (pfile_info_internal!=NULL))
		*pfile_info_internal=file_info_internal;

	return err;
}



/*
  Write info about the ZipFile in the *pglobal_info structure.
  No preparation of the structure is needed
  return UNZ_OK if there is no problem.
*/
extern int ZEXPORT unzGetCurrentFileInfo (file,
                                                  pfile_info,
                                                  szFileName, fileNameBufferSize,
                                                  extraField, extraFieldBufferSize,
                                                  szComment,  commentBufferSize)
	unzFile file;
	unz_file_info *pfile_info;
	char *szFileName;
	uLong fileNameBufferSize;
	void *extraField;
	uLong extraFieldBufferSize;
	char *szComment;
	uLong commentBufferSize;
{
	return unzlocal_GetCurrentFileInfoInternal(file,pfile_info,NULL,
												szFileName,fileNameBufferSize,
												extraField,extraFieldBufferSize,
												szComment,commentBufferSize);
}

/*
  Set the current file of the zipfile to the first file.
  return UNZ_OK if there is no problem
*/
extern int ZEXPORT unzGoToFirstFile (file)
	unzFile file;
{
	int err=UNZ_OK;
	unz_s* s;
	if (file==NULL)
		return UNZ_PARAMERROR;
	s=(unz_s*)file;
	s->pos_in_central_dir=s->offset_central_dir;
	s->num_file=0;
	err=unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info,
											 &s->cur_file_info_internal,
											 NULL,0,NULL,0,NULL,0);
	s->current_file_ok = (err == UNZ_OK);
	return err;
}


/*
  Set the current file of the zipfile to the next file.
  return UNZ_OK if there is no problem
  return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
*/
extern int ZEXPORT unzGoToNextFile (file)
	unzFile file;
{
	unz_s* s;	
	int err;

	if (file==NULL)
		return UNZ_PARAMERROR;
	s=(unz_s*)file;
	if (!s->current_file_ok)
		return UNZ_END_OF_LIST_OF_FILE;
	if (s->num_file+1==s->gi.number_entry)
		return UNZ_END_OF_LIST_OF_FILE;

	s->pos_in_central_dir += SIZECENTRALDIRITEM + s->cur_file_info.size_filename +
			s->cur_file_info.size_file_extra + s->cur_file_info.size_file_comment ;
	s->num_file++;
	err = unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info,
											   &s->cur_file_info_internal,
											   NULL,0,NULL,0,NULL,0);
	s->current_file_ok = (err == UNZ_OK);
	return err;
}


/*
  Try locate the file szFileName in the zipfile.
  For the iCaseSensitivity signification, see unzipStringFileNameCompare

  return value :
  UNZ_OK if the file is found. It becomes the current file.
  UNZ_END_OF_LIST_OF_FILE if the file is not found
*/
extern int ZEXPORT unzLocateFile (file, szFileName, iCaseSensitivity)
	unzFile file;
	const char *szFileName;
	int iCaseSensitivity;
{
	unz_s* s;	
	int err;

	
	uLong num_fileSaved;
	uLong pos_in_central_dirSaved;


	if (file==NULL)
		return UNZ_PARAMERROR;

    if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP)
        return UNZ_PARAMERROR;

	s=(unz_s*)file;
	if (!s->current_file_ok)
		return UNZ_END_OF_LIST_OF_FILE;

	num_fileSaved = s->num_file;
	pos_in_central_dirSaved = s->pos_in_central_dir;

	err = unzGoToFirstFile(file);

	while (err == UNZ_OK)
	{
		char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1];
		unzGetCurrentFileInfo(file,NULL,
								szCurrentFileName,sizeof(szCurrentFileName)-1,
								NULL,0,NULL,0);
		if (unzStringFileNameCompare(szCurrentFileName,
										szFileName,iCaseSensitivity)==0)
			return UNZ_OK;
		err = unzGoToNextFile(file);
	}

	s->num_file = num_fileSaved ;
	s->pos_in_central_dir = pos_in_central_dirSaved ;
	return err;
}


/*
  Read the local header of the current zipfile
  Check the coherency of the local header and info in the end of central
        directory about this file
  store in *piSizeVar the size of extra info in local header
        (filename and size of extra field data)
*/
local int unzlocal_CheckCurrentFileCoherencyHeader (s,piSizeVar,
													poffset_local_extrafield,
													psize_local_extrafield)
	unz_s* s;
	uInt* piSizeVar;
	uLong *poffset_local_extrafield;
	uInt  *psize_local_extrafield;
{
	uLong uMagic,uData,uFlags;
	uLong size_filename;
	uLong size_extra_field;
	int err=UNZ_OK;

	*piSizeVar = 0;
	*poffset_local_extrafield = 0;
	*psize_local_extrafield = 0;

	if (fseek(s->file,s->cur_file_info_internal.offset_curfile +
								s->byte_before_the_zipfile,SEEK_SET)!=0)
		return UNZ_ERRNO;


	if (err==UNZ_OK)
		if (unzlocal_getLong(s->file,&uMagic) != UNZ_OK)
			err=UNZ_ERRNO;
		else if (uMagic!=0x04034b50)
			err=UNZ_BADZIPFILE;

	if (unzlocal_getShort(s->file,&uData) != UNZ_OK)
		err=UNZ_ERRNO;
/*
	else if ((err==UNZ_OK) && (uData!=s->cur_file_info.wVersion))
		err=UNZ_BADZIPFILE;
*/
	if (unzlocal_getShort(s->file,&uFlags) != UNZ_OK)
		err=UNZ_ERRNO;

	if (unzlocal_getShort(s->file,&uData) != UNZ_OK)
		err=UNZ_ERRNO;
	else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compression_method))
		err=UNZ_BADZIPFILE;

    if ((err==UNZ_OK) && (s->cur_file_info.compression_method!=0) &&
                         (s->cur_file_info.compression_method!=Z_DEFLATED))
        err=UNZ_BADZIPFILE;

	if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* date/time */
		err=UNZ_ERRNO;

	if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* crc */
		err=UNZ_ERRNO;
	else if ((err==UNZ_OK) && (uData!=s->cur_file_info.crc) &&
		                      ((uFlags & 8)==0))
		err=UNZ_BADZIPFILE;

	if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* size compr */
		err=UNZ_ERRNO;
	else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compressed_size) &&
							  ((uFlags & 8)==0))
		err=UNZ_BADZIPFILE;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品在线视频| 奇米777欧美一区二区| 国产成人福利片| 26uuu国产电影一区二区| 麻豆成人久久精品二区三区小说| 在线播放中文字幕一区| 奇米888四色在线精品| 精品日韩欧美在线| 国产成都精品91一区二区三| 国产精品麻豆99久久久久久| 99re6这里只有精品视频在线观看| 亚洲精品免费在线观看| 欧美色图在线观看| 蜜臀av一级做a爰片久久| 精品第一国产综合精品aⅴ| 国产不卡视频在线播放| 亚洲人午夜精品天堂一二香蕉| 色综合天天综合在线视频| 天堂久久久久va久久久久| 91精品午夜视频| 久久99久久久欧美国产| 国产色一区二区| 欧美性猛交xxxx乱大交退制版| 五月天丁香久久| 久久久国产综合精品女国产盗摄| 91原创在线视频| 日韩一区欧美二区| 国产精品视频一二三区| 欧美性猛片xxxx免费看久爱| 激情国产一区二区| 亚洲美女区一区| 日韩欧美成人一区| 不卡av在线免费观看| 天堂蜜桃91精品| 国产精品美女久久久久久久久久久 | 国产麻豆精品在线观看| 亚洲欧美日本在线| 欧美电影免费观看完整版| 成人app下载| 日本成人超碰在线观看| 中文字幕色av一区二区三区| 欧美巨大另类极品videosbest | 成人免费高清在线| 日本特黄久久久高潮| 亚洲国产精华液网站w | 国产精品白丝av| 天天色天天爱天天射综合| 日本一区二区视频在线观看| 欧美日韩国产不卡| 成人一级片网址| 另类小说一区二区三区| 亚洲一卡二卡三卡四卡| 国产精品网站导航| 日韩免费观看高清完整版在线观看| 99精品视频在线免费观看| 蜜臀久久99精品久久久久宅男 | 欧美日韩一卡二卡三卡 | 午夜久久电影网| ...中文天堂在线一区| 精品999在线播放| 911精品国产一区二区在线| 99精品视频在线播放观看| 国产一区二区三区视频在线播放| 日韩在线一区二区三区| 亚洲综合清纯丝袜自拍| 中文字幕在线一区| 欧美经典一区二区三区| 2欧美一区二区三区在线观看视频| 欧美日韩日日夜夜| 欧美亚洲另类激情小说| 91农村精品一区二区在线| 国产xxx精品视频大全| 国产精品伊人色| 国产资源在线一区| 国内精品久久久久影院薰衣草| 热久久国产精品| 日韩电影在线免费| 丝袜美腿一区二区三区| 日韩精品欧美成人高清一区二区| 亚洲一区影音先锋| 亚洲大尺度视频在线观看| 一区二区在线看| 亚洲激情图片小说视频| 有码一区二区三区| 亚洲一区二区三区中文字幕在线| 亚洲伊人伊色伊影伊综合网| 一区二区三区精品视频在线| 一区二区久久久久久| 亚洲午夜成aⅴ人片| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲免费三区一区二区| 亚洲制服丝袜av| 午夜国产精品一区| 日韩av一级片| 国产一区三区三区| 国产精品99久| 99久久精品免费看国产| 97se亚洲国产综合自在线不卡| 色av综合在线| 欧美精品久久天天躁| 日韩欧美的一区| 国产女人水真多18毛片18精品视频| 国产女主播一区| 亚洲最新视频在线播放| 三级亚洲高清视频| 精品一区二区三区在线播放视频| 国产电影精品久久禁18| 一本一道久久a久久精品| 欧美巨大另类极品videosbest | 日韩一级二级三级精品视频| 欧美成人精品1314www| 久久精品免费在线观看| 亚洲欧美日本在线| 日本欧美韩国一区三区| 国产91在线看| 欧美在线免费视屏| 精品成人一区二区三区四区| 欧美国产一区视频在线观看| 有码一区二区三区| 精品影院一区二区久久久| www.视频一区| 日韩三级精品电影久久久| 国产精品免费久久| 丝袜亚洲另类欧美| 99视频一区二区| 欧美人牲a欧美精品| 国产亚洲成av人在线观看导航| 一区二区三区av电影| 国产一区二三区| 欧美视频一区二| 欧美国产日韩精品免费观看| 五月开心婷婷久久| 99在线精品免费| 日韩无一区二区| 一区二区三区**美女毛片| 国模大尺度一区二区三区| 欧洲精品中文字幕| 国产午夜精品一区二区三区四区| 亚洲国产一区视频| av不卡在线播放| 久久综合丝袜日本网| 亚洲r级在线视频| 99国产麻豆精品| 久久精品一区二区三区不卡牛牛| 手机精品视频在线观看| 国产日产亚洲精品系列| 日韩中文字幕91| 日本电影亚洲天堂一区| 欧美激情在线一区二区三区| 免费的成人av| 欧美日韩精品电影| 一区二区三区在线视频免费 | 精品国产一区二区国模嫣然| 亚洲综合在线五月| 99精品国产热久久91蜜凸| 国产视频一区二区在线| 久久精品国产精品亚洲综合| 欧美日韩国产精品成人| 亚洲国产日韩一级| 一本到高清视频免费精品| 国产精品成人午夜| 成人高清视频在线| 日本一区二区在线不卡| 国产尤物一区二区| 久久亚洲捆绑美女| 极品少妇xxxx精品少妇偷拍| 日韩精品综合一本久道在线视频| 日韩黄色免费网站| 欧美精品乱人伦久久久久久| 午夜电影一区二区三区| 欧美老肥妇做.爰bbww视频| 五月天欧美精品| 9191久久久久久久久久久| 亚洲一区视频在线| 欧美三级蜜桃2在线观看| 亚洲主播在线播放| 欧美日本一区二区三区四区| 亚洲第一激情av| 欧美一级日韩免费不卡| 免费在线观看日韩欧美| 日韩欧美在线123| 韩国三级电影一区二区| 国产日韩欧美激情| 成人激情动漫在线观看| 亚洲视频一区在线| 欧美色男人天堂| 日韩高清欧美激情| 久久亚洲影视婷婷| 成人激情午夜影院| 一区二区在线观看免费| 欧美理论片在线| 九九国产精品视频| 亚洲国产岛国毛片在线| 色吊一区二区三区 | 老司机免费视频一区二区三区| 精品美女在线播放| 成人h动漫精品| 亚洲国产精品久久艾草纯爱 | 久久久一区二区三区| 成人av在线观|