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

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

?? unzip.c

?? StormLib是對(duì)MPQ文件進(jìn)行處理的庫 MPQ是暴雪公司的私有的一種壓縮格式
?? C
?? 第 1 頁 / 共 4 頁
字號(hào):
/* unzip.c -- IO for uncompress .zip files using zlib   Version 1.01e, February 12th, 2005   Copyright (C) 1998-2005 Gilles Vollant   Read unzip.h for more info*//* Decryption code comes from crypt.c by Info-ZIP but has been greatly reduced in terms ofcompatibility with older software. The following is from the original crypt.c. Codewoven in by Terry Thorsen 1/2003.*//*  Copyright (c) 1990-2000 Info-ZIP.  All rights reserved.  See the accompanying file LICENSE, version 2000-Apr-09 or later  (the contents of which are also included in zip.h) for terms of use.  If, for some reason, all these files are missing, the Info-ZIP license  also may be found at:  ftp://ftp.info-zip.org/pub/infozip/license.html*//*  crypt.c (full version) by Info-ZIP.      Last revised:  [see crypt.h]  The encryption/decryption parts of this source code (as opposed to the  non-echoing password parts) were originally written in Europe.  The  whole source package can be freely distributed, including from the USA.  (Prior to January 2000, re-export from the US was a violation of US law.) *//*  This encryption code is a direct transcription of the algorithm from  Roger Schlafly, described by Phil Katz in the file appnote.txt.  This  file (appnote.txt) is distributed with the PKZIP program (even in the  version without encryption capabilities). */#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 */#ifndef CASESENSITIVITYDEFAULT_NO#  if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES)#    define CASESENSITIVITYDEFAULT_NO#  endif#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)const char unz_copyright[] =   " unzip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll";/* 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*/    zlib_filefunc_def z_filefunc;    voidpf filestream;        /* io structore of the zipfile */    uLong compression_method;   /* compression method (0==store) */    uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/    int   raw;} file_in_zip_read_info_s;/* unz_s contain internal information about the zipfile*/typedef struct{    zlib_filefunc_def z_filefunc;    voidpf filestream;        /* 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 */    int encrypted;#    ifndef NOUNCRYPT    unsigned long keys[3];     /* keys defining the pseudo-random sequence */    const unsigned long* pcrc_32_tab;#    endif} unz_s;#ifndef NOUNCRYPT#include "crypt.h"#endif/* ===========================================================================     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 OF((    const zlib_filefunc_def* pzlib_filefunc_def,    voidpf filestream,    int *pi));local int unzlocal_getByte(pzlib_filefunc_def,filestream,pi)    const zlib_filefunc_def* pzlib_filefunc_def;    voidpf filestream;    int *pi;{    unsigned char c;    int err = (int)ZREAD(*pzlib_filefunc_def,filestream,&c,1);    if (err==1)    {        *pi = (int)c;        return UNZ_OK;    }    else    {        if (ZERROR(*pzlib_filefunc_def,filestream))            return UNZ_ERRNO;        else            return UNZ_EOF;    }}/* ===========================================================================   Reads a long in LSB order from the given gz_stream. Sets*/local int unzlocal_getShort OF((    const zlib_filefunc_def* pzlib_filefunc_def,    voidpf filestream,    uLong *pX));local int unzlocal_getShort (pzlib_filefunc_def,filestream,pX)    const zlib_filefunc_def* pzlib_filefunc_def;    voidpf filestream;    uLong *pX;{    uLong x ;    int i;    int err;    err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i);    x = (uLong)i;    if (err==UNZ_OK)        err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i);    x += ((uLong)i)<<8;    if (err==UNZ_OK)        *pX = x;    else        *pX = 0;    return err;}local int unzlocal_getLong OF((    const zlib_filefunc_def* pzlib_filefunc_def,    voidpf filestream,    uLong *pX));local int unzlocal_getLong (pzlib_filefunc_def,filestream,pX)    const zlib_filefunc_def* pzlib_filefunc_def;    voidpf filestream;    uLong *pX;{    uLong x ;    int i;    int err;    err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i);    x = (uLong)i;    if (err==UNZ_OK)        err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i);    x += ((uLong)i)<<8;    if (err==UNZ_OK)        err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i);    x += ((uLong)i)<<16;    if (err==UNZ_OK)        err = unzlocal_getByte(pzlib_filefunc_def,filestream,&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);}#ifndef BUFREADCOMMENT#define BUFREADCOMMENT (0x400)#endif/*  Locate the Central directory of a zipfile (at the end, just before    the global comment)*/local uLong unzlocal_SearchCentralDir OF((    const zlib_filefunc_def* pzlib_filefunc_def,    voidpf filestream));local uLong unzlocal_SearchCentralDir(pzlib_filefunc_def,filestream)    const zlib_filefunc_def* pzlib_filefunc_def;    voidpf filestream;{    unsigned char* buf;    uLong uSizeFile;    uLong uBackRead;    uLong uMaxBack=0xffff; /* maximum size of global comment */    uLong uPosFound=0;    if (ZSEEK(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0)        return 0;    uSizeFile = ZTELL(*pzlib_filefunc_def,filestream);    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 (ZSEEK(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0)            break;        if (ZREAD(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize)            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\\zlib114.zip" or on an Unix computer     "zlib/zlib114.zip".     If the zipfile cannot be opened (file doesn'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 unzOpen2 (path, pzlib_filefunc_def)    const char *path;    zlib_filefunc_def* pzlib_filefunc_def;{

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲愉拍一区二区| 亚洲欧美电影一区二区| 日韩电影网1区2区| 欧美伊人精品成人久久综合97 | 精品久久久久久久久久久久久久久 | 日韩欧美一区在线观看| 亚洲电影一区二区三区| 欧美性三三影院| 亚洲制服丝袜av| 色av综合在线| 亚洲国产aⅴ天堂久久| 欧美性生活大片视频| 午夜国产精品一区| 777xxx欧美| 捆绑调教一区二区三区| 欧美大黄免费观看| 国产精品一区一区| 中文幕一区二区三区久久蜜桃| 国产精品一二三四五| 欧美激情一区二区三区全黄| 成人精品国产一区二区4080| 国产精品国产三级国产aⅴ中文| kk眼镜猥琐国模调教系列一区二区 | 国产精品视频免费看| 波多野结衣视频一区| 亚洲三级电影网站| 欧美亚洲禁片免费| 免费在线观看日韩欧美| 精品美女在线观看| 国产aⅴ精品一区二区三区色成熟| 国产欧美日韩视频在线观看| 91免费国产在线| 亚洲图片欧美色图| 欧美成人a∨高清免费观看| 国产精品88888| 亚洲天堂av老司机| 91精品久久久久久久99蜜桃| 极品少妇xxxx精品少妇| 国产精品福利av| 欧美男人的天堂一二区| 免费高清视频精品| 久久蜜臀精品av| 99精品黄色片免费大全| 午夜精品福利一区二区蜜股av| 日韩欧美高清在线| 麻豆精品在线看| 国产精品国产三级国产aⅴ中文 | 日韩在线一二三区| 国产视频一区二区在线| 在线精品视频免费播放| 激情综合网最新| 曰韩精品一区二区| 久久综合久久综合九色| 在线看日本不卡| 国产一区高清在线| 亚洲va欧美va人人爽| 国产精品欧美极品| 日韩女优毛片在线| 在线视频国内自拍亚洲视频| 激情国产一区二区| 亚洲一线二线三线久久久| 久久夜色精品一区| 欧美日韩一区精品| 成人国产电影网| 久久精品国产99国产| 亚洲欧美日韩国产中文在线| 日韩欧美色综合网站| 一本到不卡精品视频在线观看| 国产综合久久久久久久久久久久| 亚洲成人中文在线| 综合分类小说区另类春色亚洲小说欧美| 正在播放亚洲一区| 色94色欧美sute亚洲13| 高清在线不卡av| 精品无人码麻豆乱码1区2区| 亚洲免费观看高清在线观看| 久久精品在这里| 日韩午夜三级在线| 日韩一区二区在线免费观看| 成人教育av在线| 国产成人免费av在线| 久久99最新地址| 琪琪一区二区三区| 男人的天堂亚洲一区| 日韩在线卡一卡二| 日韩国产成人精品| 亚洲第一av色| 偷拍一区二区三区四区| 国产精品乱码一区二区三区软件| 欧美精品一区二区蜜臀亚洲| 日韩女优电影在线观看| 欧美日韩精品免费| 欧美久久免费观看| 欧美老人xxxx18| 欧美一卡二卡三卡| 日韩精品一区二区三区在线观看| 欧美一级一区二区| 精品美女在线播放| 欧美一级搡bbbb搡bbbb| 日韩一区二区三区精品视频| 日韩一区二区免费视频| 91.com视频| 欧美精品一区二区三| 欧美国产激情二区三区| 国产精品久久久久永久免费观看 | 日本欧美肥老太交大片| 奇米精品一区二区三区四区| 日本在线不卡一区| 精品一区二区三区在线播放| 国产在线不卡一卡二卡三卡四卡| 激情亚洲综合在线| 国产91精品精华液一区二区三区 | 亚洲狠狠爱一区二区三区| 亚洲成av人片在www色猫咪| 日韩激情视频网站| 精品伊人久久久久7777人| 国产电影精品久久禁18| 91丝袜美腿高跟国产极品老师| 一本大道久久精品懂色aⅴ| 欧美日韩免费视频| 精品日产卡一卡二卡麻豆| 国产精品日日摸夜夜摸av| 亚洲美女在线国产| 日韩成人免费电影| 国产成人综合精品三级| 色噜噜久久综合| 日韩精品中文字幕在线不卡尤物 | 欧美在线免费播放| 91精品国产91热久久久做人人| 精品久久免费看| 亚洲激情自拍视频| 看电影不卡的网站| 成人av免费在线播放| 欧美精品久久久久久久多人混战| 久久综合九色综合欧美亚洲| 亚洲欧美激情一区二区| 蜜乳av一区二区| av成人老司机| 宅男噜噜噜66一区二区66| 国产欧美日韩一区二区三区在线观看| 亚洲综合精品自拍| 国产福利不卡视频| 91精品国产麻豆| 日本一区二区视频在线观看| 日日骚欧美日韩| a在线欧美一区| 91精品国产综合久久久久久久久久 | 国产调教视频一区| 亚洲一区免费在线观看| 丁香婷婷综合色啪| 欧美一级欧美三级| 日韩码欧中文字| 国产一区二区三区免费观看| 在线视频你懂得一区| 中文子幕无线码一区tr| 久久国产尿小便嘘嘘| 欧美日韩一本到| 国产精品久久毛片av大全日韩| 久久99最新地址| 欧美美女bb生活片| 伊人一区二区三区| 成人深夜福利app| 精品不卡在线视频| 五月天激情综合网| 日本精品一区二区三区四区的功能| 久久嫩草精品久久久久| 五月婷婷综合在线| 在线看不卡av| 亚洲久草在线视频| 国产成人8x视频一区二区| 日韩欧美在线综合网| 日欧美一区二区| 欧美少妇bbb| 一区二区三区四区不卡在线| 不卡一区二区在线| 久久精品人人做| 国产原创一区二区| 精品久久国产老人久久综合| 日韩精品免费视频人成| 欧美年轻男男videosbes| 亚洲国产精品久久不卡毛片| 一本大道久久a久久精品综合| 国产精品国产三级国产aⅴ无密码| 国产1区2区3区精品美女| 国产欧美精品一区aⅴ影院| 国产一区二区电影| 久久久综合精品| 国产精品456露脸| 久久九九99视频| 国产98色在线|日韩| 日本一区二区三区四区在线视频| 春色校园综合激情亚洲| 国产精品免费久久久久| av中文字幕在线不卡| 亚洲欧洲成人精品av97| 色婷婷一区二区三区四区| 亚洲裸体xxx| 欧美三级午夜理伦三级中视频| 午夜激情综合网| 欧美刺激脚交jootjob|