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

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

?? zip.c

?? StormLib是對MPQ文件進行處理的庫 MPQ是暴雪公司的私有的一種壓縮格式
?? C
?? 第 1 頁 / 共 3 頁
字號:
    x = (uLong)i;    if (err==ZIP_OK)        err = ziplocal_getByte(pzlib_filefunc_def,filestream,&i);    x += ((uLong)i)<<8;    if (err==ZIP_OK)        err = ziplocal_getByte(pzlib_filefunc_def,filestream,&i);    x += ((uLong)i)<<16;    if (err==ZIP_OK)        err = ziplocal_getByte(pzlib_filefunc_def,filestream,&i);    x += ((uLong)i)<<24;    if (err==ZIP_OK)        *pX = x;    else        *pX = 0;    return err;}#ifndef BUFREADCOMMENT#define BUFREADCOMMENT (0x400)#endif/*  Locate the Central directory of a zipfile (at the end, just before    the global comment)*/local uLong ziplocal_SearchCentralDir OF((    const zlib_filefunc_def* pzlib_filefunc_def,    voidpf filestream));local uLong ziplocal_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;}#endif /* !NO_ADDFILEINEXISTINGZIP*//************************************************************/extern zipFile ZEXPORT zipOpen2 (pathname, append, globalcomment, pzlib_filefunc_def)    const char *pathname;    int append;    zipcharpc* globalcomment;    zlib_filefunc_def* pzlib_filefunc_def;{    zip_internal ziinit;    zip_internal* zi;    int err=ZIP_OK;    if (pzlib_filefunc_def==NULL)        fill_fopen_filefunc(&ziinit.z_filefunc);    else        ziinit.z_filefunc = *pzlib_filefunc_def;    ziinit.filestream = (*(ziinit.z_filefunc.zopen_file))                 (ziinit.z_filefunc.opaque,                  pathname,                  (append == APPEND_STATUS_CREATE) ?                  (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_CREATE) :                    (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_EXISTING));    if (ziinit.filestream == NULL)        return NULL;    ziinit.begin_pos = ZTELL(ziinit.z_filefunc,ziinit.filestream);    ziinit.in_opened_file_inzip = 0;    ziinit.ci.stream_initialised = 0;    ziinit.number_entry = 0;    ziinit.add_position_when_writting_offset = 0;    init_linkedlist(&(ziinit.central_dir));    zi = (zip_internal*)ALLOC(sizeof(zip_internal));    if (zi==NULL)    {        ZCLOSE(ziinit.z_filefunc,ziinit.filestream);        return NULL;    }    /* now we add file in a zipfile */#    ifndef NO_ADDFILEINEXISTINGZIP    ziinit.globalcomment = NULL;    if (append == APPEND_STATUS_ADDINZIP)    {        uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/        uLong size_central_dir;     /* size of the central directory  */        uLong offset_central_dir;   /* offset of start of central directory */        uLong central_pos,uL;        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;        uLong number_entry_CD;      /* total number of entries in                                    the central dir                                    (same than number_entry on nospan) */        uLong size_comment;        central_pos = ziplocal_SearchCentralDir(&ziinit.z_filefunc,ziinit.filestream);        if (central_pos==0)            err=ZIP_ERRNO;        if (ZSEEK(ziinit.z_filefunc, ziinit.filestream,                                        central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0)            err=ZIP_ERRNO;        /* the signature, already checked */        if (ziplocal_getLong(&ziinit.z_filefunc, ziinit.filestream,&uL)!=ZIP_OK)            err=ZIP_ERRNO;        /* number of this disk */        if (ziplocal_getShort(&ziinit.z_filefunc, ziinit.filestream,&number_disk)!=ZIP_OK)            err=ZIP_ERRNO;        /* number of the disk with the start of the central directory */        if (ziplocal_getShort(&ziinit.z_filefunc, ziinit.filestream,&number_disk_with_CD)!=ZIP_OK)            err=ZIP_ERRNO;        /* total number of entries in the central dir on this disk */        if (ziplocal_getShort(&ziinit.z_filefunc, ziinit.filestream,&number_entry)!=ZIP_OK)            err=ZIP_ERRNO;        /* total number of entries in the central dir */        if (ziplocal_getShort(&ziinit.z_filefunc, ziinit.filestream,&number_entry_CD)!=ZIP_OK)            err=ZIP_ERRNO;        if ((number_entry_CD!=number_entry) ||            (number_disk_with_CD!=0) ||            (number_disk!=0))            err=ZIP_BADZIPFILE;        /* size of the central directory */        if (ziplocal_getLong(&ziinit.z_filefunc, ziinit.filestream,&size_central_dir)!=ZIP_OK)            err=ZIP_ERRNO;        /* offset of start of central directory with respect to the            starting disk number */        if (ziplocal_getLong(&ziinit.z_filefunc, ziinit.filestream,&offset_central_dir)!=ZIP_OK)            err=ZIP_ERRNO;        /* zipfile global comment length */        if (ziplocal_getShort(&ziinit.z_filefunc, ziinit.filestream,&size_comment)!=ZIP_OK)            err=ZIP_ERRNO;        if ((central_pos<offset_central_dir+size_central_dir) &&            (err==ZIP_OK))            err=ZIP_BADZIPFILE;        if (err!=ZIP_OK)        {            ZCLOSE(ziinit.z_filefunc, ziinit.filestream);            return NULL;        }        if (size_comment>0)        {            ziinit.globalcomment = ALLOC(size_comment+1);            if (ziinit.globalcomment)            {               size_comment = ZREAD(ziinit.z_filefunc, ziinit.filestream,ziinit.globalcomment,size_comment);               ziinit.globalcomment[size_comment]=0;            }        }        byte_before_the_zipfile = central_pos -                                (offset_central_dir+size_central_dir);        ziinit.add_position_when_writting_offset = byte_before_the_zipfile;        {            uLong size_central_dir_to_read = size_central_dir;            size_t buf_size = SIZEDATA_INDATABLOCK;            void* buf_read = (void*)ALLOC(buf_size);            if (ZSEEK(ziinit.z_filefunc, ziinit.filestream,                  offset_central_dir + byte_before_the_zipfile,                  ZLIB_FILEFUNC_SEEK_SET) != 0)                  err=ZIP_ERRNO;            while ((size_central_dir_to_read>0) && (err==ZIP_OK))            {                uLong read_this = SIZEDATA_INDATABLOCK;                if (read_this > size_central_dir_to_read)                    read_this = size_central_dir_to_read;                if (ZREAD(ziinit.z_filefunc, ziinit.filestream,buf_read,read_this) != read_this)                    err=ZIP_ERRNO;                if (err==ZIP_OK)                    err = add_data_in_datablock(&ziinit.central_dir,buf_read,                                                (uLong)read_this);                size_central_dir_to_read-=read_this;            }            TRYFREE(buf_read);        }        ziinit.begin_pos = byte_before_the_zipfile;        ziinit.number_entry = number_entry_CD;        if (ZSEEK(ziinit.z_filefunc, ziinit.filestream,                  offset_central_dir+byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET)!=0)            err=ZIP_ERRNO;    }    if (globalcomment)    {      *globalcomment = ziinit.globalcomment;    }#    endif /* !NO_ADDFILEINEXISTINGZIP*/    if (err != ZIP_OK)    {#    ifndef NO_ADDFILEINEXISTINGZIP        TRYFREE(ziinit.globalcomment);#    endif /* !NO_ADDFILEINEXISTINGZIP*/        TRYFREE(zi);        return NULL;    }    else    {        *zi = ziinit;        return (zipFile)zi;    }}extern zipFile ZEXPORT zipOpen (pathname, append)    const char *pathname;    int append;{    return zipOpen2(pathname,append,NULL,NULL);}extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi,                                         extrafield_local, size_extrafield_local,                                         extrafield_global, size_extrafield_global,                                         comment, method, level, raw,                                         windowBits, memLevel, strategy,                                         password, crcForCrypting)    zipFile file;    const char* filename;    const zip_fileinfo* zipfi;    const void* extrafield_local;    uInt size_extrafield_local;    const void* extrafield_global;    uInt size_extrafield_global;    const char* comment;    int method;    int level;    int raw;    int windowBits;    int memLevel;    int strategy;    const char* password;    uLong crcForCrypting;{    zip_internal* zi;    uInt size_filename;    uInt size_comment;    uInt i;    int err = ZIP_OK;#    ifdef NOCRYPT    if (password != NULL)        return ZIP_PARAMERROR;#    endif    if (file == NULL)        return ZIP_PARAMERROR;    if ((method!=0) && (method!=Z_DEFLATED))        return ZIP_PARAMERROR;    zi = (zip_internal*)file;    if (zi->in_opened_file_inzip == 1)    {        err = zipCloseFileInZip (file);        if (err != ZIP_OK)            return err;    }    if (filename==NULL)        filename="-";    if (comment==NULL)        size_comment = 0;    else        size_comment = (uInt)strlen(comment);    size_filename = (uInt)strlen(filename);    if (zipfi == NULL)        zi->ci.dosDate = 0;    else    {        if (zipfi->dosDate != 0)            zi->ci.dosDate = zipfi->dosDate;        else zi->ci.dosDate = ziplocal_TmzDateToDosDate(&zipfi->tmz_date,zipfi->dosDate);    }    zi->ci.flag = 0;    if ((level==8) || (level==9))      zi->ci.flag |= 2;    if ((level==2))      zi->ci.flag |= 4;    if ((level==1))      zi->ci.flag |= 6;    if (password != NULL)      zi->ci.flag |= 1;    zi->ci.crc32 = 0;    zi->ci.method = method;    zi->ci.encrypt = 0;    zi->ci.stream_initialised = 0;    zi->ci.pos_in_buffered_data = 0;    zi->ci.raw = raw;    zi->ci.pos_local_header = ZTELL(zi->z_filefunc,zi->filestream) ;    zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename +                                      size_extrafield_global + size_comment;    zi->ci.central_header = (char*)ALLOC((uInt)zi->ci.size_centralheader);    ziplocal_putValue_inmemory(zi->ci.central_header,(uLong)CENTRALHEADERMAGIC,4);    /* version info */    ziplocal_putValue_inmemory(zi->ci.central_header+4,(uLong)VERSIONMADEBY,2);    ziplocal_putValue_inmemory(zi->ci.central_header+6,(uLong)20,2);    ziplocal_putValue_inmemory(zi->ci.central_header+8,(uLong)zi->ci.flag,2);    ziplocal_putValue_inmemory(zi->ci.central_header+10,(uLong)zi->ci.method,2);    ziplocal_putValue_inmemory(zi->ci.central_header+12,(uLong)zi->ci.dosDate,4);    ziplocal_putValue_inmemory(zi->ci.central_header+16,(uLong)0,4); /*crc*/    ziplocal_putValue_inmemory(zi->ci.central_header+20,(uLong)0,4); /*compr size*/    ziplocal_putValue_inmemory(zi->ci.central_header+24,(uLong)0,4); /*uncompr size*/    ziplocal_putValue_inmemory(zi->ci.central_header+28,(uLong)size_filename,2);    ziplocal_putValue_inmemory(zi->ci.central_header+30,(uLong)size_extrafield_global,2);    ziplocal_putValue_inmemory(zi->ci.central_header+32,(uLong)size_comment,2);    ziplocal_putValue_inmemory(zi->ci.central_header+34,(uLong)0,2); /*disk nm start*/    if (zipfi==NULL)        ziplocal_putValue_inmemory(zi->ci.central_header+36,(uLong)0,2);    else        ziplocal_putValue_inmemory(zi->ci.central_header+36,(uLong)zipfi->internal_fa,2);    if (zipfi==NULL)        ziplocal_putValue_inmemory(zi->ci.central_header+38,(uLong)0,4);    else        ziplocal_putValue_inmemory(zi->ci.central_header+38,(uLong)zipfi->external_fa,4);    ziplocal_putValue_inmemory(zi->ci.central_header+42,(uLong)zi->ci.pos_local_header- zi->add_position_when_writting_offset,4);    for (i=0;i<size_filename;i++)        *(zi->ci.central_header+SIZECENTRALHEADER+i) = *(filename+i);    for (i=0;i<size_extrafield_global;i++)        *(zi->ci.central_header+SIZECENTRALHEADER+size_filename+i) =              *(((const char*)extrafield_global)+i);    for (i=0;i<size_comment;i++)        *(zi->ci.central_header+SIZECENTRALHEADER+size_filename+

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩亚洲国产综合| 亚洲一区二区黄色| 亚洲一二三专区| 国产精品自产自拍| 欧美日韩综合不卡| ...中文天堂在线一区| 国精品**一区二区三区在线蜜桃| 色哟哟日韩精品| 国产日韩欧美精品电影三级在线 | 在线视频你懂得一区| www成人在线观看| 亚洲综合精品久久| www.亚洲免费av| 国产精品三级久久久久三级| 精品一区二区成人精品| 91精品免费观看| 亚洲午夜久久久久久久久电影网| 成人黄色免费短视频| 日本一区二区电影| 国产高清亚洲一区| 久久九九99视频| 国产精品系列在线观看| 精品国产髙清在线看国产毛片| 免费高清成人在线| 欧美性极品少妇| 玉米视频成人免费看| 色综合久久88色综合天天6| 欧美韩国日本一区| 波多野结衣91| 成人免费在线播放视频| 国产69精品久久99不卡| 国产日韩成人精品| 成人av先锋影音| 美女视频一区二区| 欧美一区二区三区男人的天堂| 亚洲成人av电影| 3atv在线一区二区三区| 蜜臂av日日欢夜夜爽一区| 精品国产网站在线观看| 国内外成人在线| 日本一区二区视频在线| av在线播放不卡| 亚洲综合一区二区精品导航| 欧美精品电影在线播放| 久久激情五月婷婷| 中文字幕不卡在线观看| 色综合激情五月| 亚洲18色成人| 精品久久久久久久久久久久久久久| 精品一区二区免费| 国产精品视频看| 91精彩视频在线| 日产精品久久久久久久性色| 精品国产免费一区二区三区四区 | 国产精品久久久久久久午夜片| 成人av影视在线观看| 一区二区理论电影在线观看| 91精品国产欧美一区二区成人| 国产精品一二三四| 一区二区三区av电影| 欧美一区二区三区思思人| 高清国产一区二区| 亚洲电影在线播放| 亚洲精品一区二区三区精华液 | 专区另类欧美日韩| 欧美日韩1区2区| 国产一区二区h| 亚洲丝袜美腿综合| 日韩欧美中文字幕制服| 99视频超级精品| 蜜桃av一区二区三区电影| 国产欧美一区二区精品婷婷| 在线观看日韩毛片| 国产乱子轮精品视频| 樱桃国产成人精品视频| 久久影院午夜片一区| 欧美视频在线一区| 国产精品自产自拍| 青青草97国产精品免费观看| 亚洲色图丝袜美腿| 久久婷婷色综合| 欧美高清性hdvideosex| av在线播放不卡| 国产一区啦啦啦在线观看| 亚洲高清一区二区三区| 国产精品久久久久三级| 欧美mv日韩mv国产网站| 精品婷婷伊人一区三区三| 成人免费视频app| 美国十次综合导航| 亚洲一级二级在线| 亚洲色图欧美偷拍| 国产欧美一区二区精品性色 | 色狠狠桃花综合| 国产成人综合视频| 蜜臀va亚洲va欧美va天堂| 一区二区三区欧美视频| 国产视频一区二区在线| 欧美精品一区男女天堂| 欧美一级精品在线| 欧美精品 日韩| 欧美日韩夫妻久久| 欧美在线不卡视频| 色综合久久天天| 94-欧美-setu| 99综合影院在线| av中文一区二区三区| 高清av一区二区| 国产夫妻精品视频| 国产成人综合在线观看| 粉嫩13p一区二区三区| 国产伦精品一区二区三区在线观看| 日本不卡的三区四区五区| 日韩av电影一区| 日本不卡一区二区三区高清视频| 视频一区视频二区在线观看| 天天色综合成人网| 美女在线观看视频一区二区| 蜜臀久久久99精品久久久久久| 丝袜亚洲另类欧美| 日本伊人色综合网| 精油按摩中文字幕久久| 九色porny丨国产精品| 麻豆成人av在线| 国内精品免费在线观看| 国产精品夜夜爽| 成人国产亚洲欧美成人综合网| 99精品视频免费在线观看| 色婷婷av一区二区三区gif| 欧美亚洲禁片免费| 欧美精品电影在线播放| 久久一夜天堂av一区二区三区| 久久久久久久网| 久久99精品久久久久久| 国产一区二区伦理| 成人av网址在线观看| 色乱码一区二区三区88| 欧美久久久一区| 精品国产91九色蝌蚪| 国产精品三级在线观看| 亚洲成人av中文| 久久精品国产久精国产| 成人18视频在线播放| 欧美精品第1页| 国产欧美日本一区视频| 亚洲一区二区三区视频在线播放| 青青青爽久久午夜综合久久午夜| 国产精品自拍毛片| 欧美性色黄大片手机版| www一区二区| 一区二区三区自拍| 国产一区二区在线观看免费| 色婷婷综合激情| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 成人动漫精品一区二区| 欧美三级在线播放| 国产女同互慰高潮91漫画| 亚洲一区二区在线免费观看视频| 韩国午夜理伦三级不卡影院| 欧美影视一区在线| 久久精品一区二区三区不卡| 亚洲午夜一区二区三区| 成人激情动漫在线观看| 日韩欧美一区二区视频| 亚洲色欲色欲www| 精品午夜久久福利影院| 欧美亚洲高清一区| 欧美激情一区二区三区蜜桃视频| 亚洲成a人片在线不卡一二三区| 成人深夜福利app| 日韩精品中午字幕| 亚洲国产精品一区二区久久| 丁香啪啪综合成人亚洲小说| 日韩视频一区二区在线观看| 亚洲猫色日本管| 成人久久18免费网站麻豆| 日韩精品中文字幕在线一区| 水野朝阳av一区二区三区| 91在线播放网址| 国产亚洲精品久| 国产又黄又大久久| 欧美电影免费观看高清完整版在 | 亚洲欧美综合另类在线卡通| 美女网站色91| 91精品免费观看| 波多野结衣91| 国产日产精品一区| 精品在线观看免费| 日韩一区二区三区视频| 午夜久久电影网| 欧美性大战xxxxx久久久| 亚洲精品日韩专区silk| 99国产精品久久| 亚洲女厕所小便bbb| a级精品国产片在线观看| 亚洲欧洲另类国产综合| 91亚洲资源网| 亚洲日韩欧美一区二区在线| 92国产精品观看| 亚洲精品日韩一|