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

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

?? unzip.c

?? StormLib是對MPQ文件進行處理的庫 MPQ是暴雪公司的私有的一種壓縮格式
?? C
?? 第 1 頁 / 共 4 頁
字號:
    if (s->gi.number_entry != 0xffff)    /* 2^16 files overflow hack */      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;    /* We remember the 'current' position in the file so that we can jump     * back there if we fail.     */    unz_file_info cur_file_infoSaved;    unz_file_info_internal cur_file_info_internalSaved;    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;    /* Save the current state */    num_fileSaved = s->num_file;    pos_in_central_dirSaved = s->pos_in_central_dir;    cur_file_infoSaved = s->cur_file_info;    cur_file_info_internalSaved = s->cur_file_info_internal;    err = unzGoToFirstFile(file);    while (err == UNZ_OK)    {        char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1];        err = unzGetCurrentFileInfo(file,NULL,                                    szCurrentFileName,sizeof(szCurrentFileName)-1,                                    NULL,0,NULL,0);        if (err == UNZ_OK)        {            if (unzStringFileNameCompare(szCurrentFileName,                                            szFileName,iCaseSensitivity)==0)                return UNZ_OK;            err = unzGoToNextFile(file);        }    }    /* We failed, so restore the state of the 'current file' to where we     * were.     */    s->num_file = num_fileSaved ;    s->pos_in_central_dir = pos_in_central_dirSaved ;    s->cur_file_info = cur_file_infoSaved;    s->cur_file_info_internal = cur_file_info_internalSaved;    return err;}/*///////////////////////////////////////////// Contributed by Ryan Haksi (mailto://cryogen@infoserve.net)// I need random access//// Further optimization could be realized by adding an ability// to cache the directory in memory. The goal being a single// comprehensive file read to put the file I need in a memory.*//*typedef struct unz_file_pos_s{    uLong pos_in_zip_directory;   // offset in file    uLong num_of_file;            // # of file} unz_file_pos;*/extern int ZEXPORT unzGetFilePos(file, file_pos)    unzFile file;    unz_file_pos* file_pos;{    unz_s* s;    if (file==NULL || file_pos==NULL)        return UNZ_PARAMERROR;    s=(unz_s*)file;    if (!s->current_file_ok)        return UNZ_END_OF_LIST_OF_FILE;    file_pos->pos_in_zip_directory  = s->pos_in_central_dir;    file_pos->num_of_file           = s->num_file;    return UNZ_OK;}extern int ZEXPORT unzGoToFilePos(file, file_pos)    unzFile file;    unz_file_pos* file_pos;{    unz_s* s;    int err;    if (file==NULL || file_pos==NULL)        return UNZ_PARAMERROR;    s=(unz_s*)file;    /* jump to the right spot */    s->pos_in_central_dir = file_pos->pos_in_zip_directory;    s->num_file           = file_pos->num_of_file;    /* set the current file */    err = unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info,                                               &s->cur_file_info_internal,                                               NULL,0,NULL,0,NULL,0);    /* return results */    s->current_file_ok = (err == UNZ_OK);    return err;}/*// Unzip Helper Functions - should be here?///////////////////////////////////////////*//*  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 (ZSEEK(s->z_filefunc, s->filestream,s->cur_file_info_internal.offset_curfile +                                s->byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET)!=0)        return UNZ_ERRNO;    if (err==UNZ_OK)        if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK)            err=UNZ_ERRNO;        else if (uMagic!=0x04034b50)            err=UNZ_BADZIPFILE;    if (unzlocal_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK)        err=UNZ_ERRNO;/*    else if ((err==UNZ_OK) && (uData!=s->cur_file_info.wVersion))        err=UNZ_BADZIPFILE;*/    if (unzlocal_getShort(&s->z_filefunc, s->filestream,&uFlags) != UNZ_OK)        err=UNZ_ERRNO;    if (unzlocal_getShort(&s->z_filefunc, s->filestream,&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->z_filefunc, s->filestream,&uData) != UNZ_OK) /* date/time */        err=UNZ_ERRNO;    if (unzlocal_getLong(&s->z_filefunc, s->filestream,&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->z_filefunc, s->filestream,&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;    if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size uncompr */        err=UNZ_ERRNO;    else if ((err==UNZ_OK) && (uData!=s->cur_file_info.uncompressed_size) &&                              ((uFlags & 8)==0))        err=UNZ_BADZIPFILE;    if (unzlocal_getShort(&s->z_filefunc, s->filestream,&size_filename) != UNZ_OK)        err=UNZ_ERRNO;    else if ((err==UNZ_OK) && (size_filename!=s->cur_file_info.size_filename))        err=UNZ_BADZIPFILE;    *piSizeVar += (uInt)size_filename;    if (unzlocal_getShort(&s->z_filefunc, s->filestream,&size_extra_field) != UNZ_OK)        err=UNZ_ERRNO;    *poffset_local_extrafield= s->cur_file_info_internal.offset_curfile +                                    SIZEZIPLOCALHEADER + size_filename;    *psize_local_extrafield = (uInt)size_extra_field;    *piSizeVar += (uInt)size_extra_field;    return err;}/*  Open for reading data the current file in the zipfile.  If there is no error and the file is opened, the return value is UNZ_OK.*/extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password)    unzFile file;    int* method;    int* level;    int raw;    const char* password;{    int err=UNZ_OK;    uInt iSizeVar;    unz_s* s;    file_in_zip_read_info_s* pfile_in_zip_read_info;    uLong offset_local_extrafield;  /* offset of the local extra field */    uInt  size_local_extrafield;    /* size of the local extra field */#    ifndef NOUNCRYPT    char source[12];#    else    if (password != NULL)        return UNZ_PARAMERROR;#    endif    if (file==NULL)        return UNZ_PARAMERROR;    s=(unz_s*)file;    if (!s->current_file_ok)        return UNZ_PARAMERROR;    if (s->pfile_in_zip_read != NULL)        unzCloseCurrentFile(file);    if (unzlocal_CheckCurrentFileCoherencyHeader(s,&iSizeVar,                &offset_local_extrafield,&size_local_extrafield)!=UNZ_OK)        return UNZ_BADZIPFILE;    pfile_in_zip_read_info = (file_in_zip_read_info_s*)                                        ALLOC(sizeof(file_in_zip_read_info_s));    if (pfile_in_zip_read_info==NULL)        return UNZ_INTERNALERROR;    pfile_in_zip_read_info->read_buffer=(char*)ALLOC(UNZ_BUFSIZE);    pfile_in_zip_read_info->offset_local_extrafield = offset_local_extrafield;    pfile_in_zip_read_info->size_local_extrafield = size_local_extrafield;    pfile_in_zip_read_info->pos_local_extrafield=0;    pfile_in_zip_read_info->raw=raw;    if (pfile_in_zip_read_info->read_buffer==NULL)    {        TRYFREE(pfile_in_zip_read_info);        return UNZ_INTERNALERROR;    }    pfile_in_zip_read_info->stream_initialised=0;    if (method!=NULL)        *method = (int)s->cur_file_info.compression_method;    if (level!=NULL)    {        *level = 6;        switch (s->cur_file_info.flag & 0x06)        {          case 6 : *level = 1; break;          case 4 : *level = 2; break;          case 2 : *level = 9; break;        }    }    if ((s->cur_file_info.compression_method!=0) &&        (s->cur_file_info.compression_method!=Z_DEFLATED))        err=UNZ_BADZIPFILE;    pfile_in_zip_read_info->crc32_wait=s->cur_file_info.crc;    pfile_in_zip_read_info->crc32=0;    pfile_in_zip_read_info->compression_method =            s->cur_file_info.compression_method;    pfile_in_zip_read_info->filestream=s->filestream;    pfile_in_zip_read_info->z_filefunc=s->z_filefunc;    pfile_in_zip_read_info->byte_before_the_zipfile=s->byte_before_the_zipfile;    pfile_in_zip_read_info->stream.total_out = 0;    if ((s->cur_file_info.compression_method==Z_DEFLATED) &&        (!raw))    {      pfile_in_zip_read_info->stream.zalloc = (alloc_func)0;      pfile_in_zip_read_info->stream.zfree = (free_func)0;      pfile_in_zip_read_info->stream.opaque = (voidpf)0;      pfile_in_zip_read_info->stream.next_in = (voidpf)0;      pfile_in_zip_read_info->stream.avail_in = 0;      err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS);      if (err == Z_OK)        pfile_in_zip_read_info->stream_initialised=1;      else      {        TRYFREE(pfile_in_zip_read_info);        return err;      }        /* windowBits is passed < 0 to tell that there is no zlib header.         * Note that in this case inflate *requires* an extra "dummy" byte         * after the compressed stream in order to complete decompression and         * return Z_STREAM_END.         * In unzip, i don't wait absolutely Z_STREAM_END because I known the         * size of both compressed and uncompressed data         */    }    pfile_in_zip_read_info->rest_read_compressed =            s->cur_file_info.compressed_size ;    pfile_in_zip_read_info->rest_read_uncompressed =            s->cur_file_info.uncompressed_size ;    pfile_in_zip_read_info->pos_in_zipfile =            s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER +              iSizeVar;    pfile_in_zip_read_info->stream.avail_in = (uInt)0;    s->pfile_in_zip_read = pfile_in_zip_read_info;#    ifndef NOUNCRYPT    if (password != NULL)    {        int i;        s->pcrc_32_tab = get_crc_table();        init_keys(password,s->keys,s->pcrc_32_tab);        if (ZSEEK(s->z_filefunc, s->filestream,                  s->pfile_in_zip_read->pos_in_zipfile +                     s->pfile_in_zip_read->byte_before_the_zipfile,                  SEEK_SET)!=0)            return UNZ_INTERNALERROR;        if(ZREAD(s->z_filefunc, s->filestream,source, 12)<12)            return UNZ_INTERNALERROR;        for (i = 0; i<12; i++)            zdecode(s->keys,s->pcrc_32_tab,source[i]);        s->pfile_in_zip_read->pos_in_zipfile+=12;        s->encrypted=1;    }#    endif    return UNZ_OK;}extern int ZEXPORT unzOpenCurrentFile (file)    unzFile file;{    return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL);}extern int ZEXPORT unzOpenCurrentFilePassword (file, password)    unzFile file;    const char* password;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜不卡在线视频| 亚洲精品水蜜桃| 国产乱码精品一区二区三区av| 精品国产区一区| 成人污污视频在线观看| 专区另类欧美日韩| 欧美性色综合网| 久久电影网电视剧免费观看| 久久先锋资源网| av不卡一区二区三区| 亚洲与欧洲av电影| 91精品国产色综合久久不卡电影| 精品亚洲国产成人av制服丝袜| 国产欧美日韩视频在线观看| 91在线看国产| 日本成人中文字幕| 日本一区二区三区dvd视频在线| 99久久精品免费看国产免费软件| 亚洲丶国产丶欧美一区二区三区| 欧美成人国产一区二区| 激情亚洲综合在线| 国产精品久久久久久久久果冻传媒| 99久久99久久久精品齐齐 | 久久久久99精品国产片| 成人黄色在线看| 日韩专区一卡二卡| 国产色产综合产在线视频| 色先锋资源久久综合| 老司机精品视频线观看86| 中文字幕一区三区| 日韩免费成人网| 在线视频你懂得一区| 国产一区二区三区日韩 | 亚洲综合无码一区二区| 欧美成人video| 色视频成人在线观看免| 韩国av一区二区三区在线观看| 亚洲美女屁股眼交3| 欧美高清视频在线高清观看mv色露露十八 | 精油按摩中文字幕久久| 亚洲色图一区二区三区| 久久久蜜桃精品| 欧美精品乱码久久久久久| 91同城在线观看| 国产一区二区日韩精品| 日本中文字幕一区二区有限公司| 亚洲三级理论片| 久久一区二区三区国产精品| 欧美人牲a欧美精品| 91在线观看美女| 国产精品一区二区在线观看网站| 午夜伊人狠狠久久| 亚洲精品久久嫩草网站秘色| 欧美国产一区二区在线观看| 日韩三级视频在线观看| 在线精品视频免费播放| 99re热这里只有精品免费视频| 国产精品自拍在线| 国产在线视频精品一区| 热久久一区二区| 婷婷久久综合九色国产成人| 亚洲精品videosex极品| 自拍视频在线观看一区二区| 国产欧美日韩视频一区二区| 久久精品一区八戒影视| 精品国产乱码久久久久久图片| 欧美一区二区三区成人| 91麻豆精品国产91久久久久久久久 | 精品一区二区免费看| 日韩精品乱码av一区二区| 亚洲成人激情社区| 亚洲国产aⅴ成人精品无吗| 亚洲综合视频在线观看| 亚洲夂夂婷婷色拍ww47| 亚洲电影视频在线| 偷偷要91色婷婷| 午夜私人影院久久久久| 午夜精品久久久久久久久久 | 久久国内精品视频| 麻豆91精品视频| 久久国产精品99久久久久久老狼| 免费久久99精品国产| 免费一级欧美片在线观看| 老司机精品视频在线| 久草在线在线精品观看| 韩国女主播一区| 国产激情视频一区二区三区欧美| 国产不卡高清在线观看视频| www.欧美日韩国产在线| 色激情天天射综合网| 欧美日韩精品一区二区在线播放| 欧美videossexotv100| 日韩欧美激情四射| 国产日韩欧美不卡在线| 亚洲欧美日韩一区二区| 亚洲成人av资源| 久久精工是国产品牌吗| 国产精品1区2区3区在线观看| 国产福利一区二区三区视频在线| www.日本不卡| 欧美挠脚心视频网站| 精品成a人在线观看| 中文字幕一区二区三中文字幕| 亚洲国产你懂的| 国产在线精品一区二区三区不卡| 成人免费毛片片v| 欧美视频在线不卡| 精品美女在线观看| 亚洲女同一区二区| 麻豆成人在线观看| av中文字幕亚洲| 欧美一三区三区四区免费在线看| 久久久精品天堂| 亚洲高清免费观看高清完整版在线观看| 蜜臀久久99精品久久久久宅男| 成人一区二区三区在线观看| 欧美日韩精品系列| 中文乱码免费一区二区| 午夜电影一区二区| 成人av电影在线观看| 欧美日本不卡视频| 国产精品色在线| 日韩成人dvd| 91美女片黄在线观看91美女| 日韩欧美电影一二三| 一区二区在线免费观看| 国产成人亚洲综合a∨猫咪| 欧美性色黄大片手机版| 国产精品午夜电影| 久久国产精品色婷婷| 欧美视频在线不卡| 国产精品理论片在线观看| 日本欧美一区二区三区乱码| 91婷婷韩国欧美一区二区| 26uuu亚洲综合色| 婷婷六月综合网| 色综合av在线| 亚洲国产精品99久久久久久久久| 麻豆精品国产传媒mv男同| 91丨九色丨蝌蚪丨老版| 欧美国产精品劲爆| 韩国精品主播一区二区在线观看 | 日韩精品一区二| 亚洲第一二三四区| 一道本成人在线| 国产精品美女久久久久久| 国内精品国产成人国产三级粉色| 在线国产电影不卡| 亚洲色图欧洲色图婷婷| 成人性生交大片| 精品国产精品网麻豆系列| 青青草原综合久久大伊人精品| 在线精品视频免费播放| 亚洲欧美日韩一区二区| 99re热视频精品| 中文字幕在线一区| 成人网页在线观看| 欧美国产精品一区二区| 国产精品一区二区x88av| 精品国产91乱码一区二区三区| 免费观看一级特黄欧美大片| 欧美精品一级二级三级| 亚洲地区一二三色| 67194成人在线观看| 亚洲6080在线| 日韩一区二区免费电影| 肉色丝袜一区二区| 91精品国产综合久久久蜜臀粉嫩 | 欧美老女人第四色| 亚洲电影中文字幕在线观看| 欧美三级欧美一级| 日韩黄色免费电影| 日韩精品中文字幕一区二区三区 | 最新久久zyz资源站| 99视频有精品| 亚洲精品免费在线| 91福利区一区二区三区| 亚洲国产欧美日韩另类综合| 欧美日韩不卡一区| 美女精品一区二区| 久久综合九色综合97_久久久| 国产伦精品一区二区三区免费迷 | 亚洲精品菠萝久久久久久久| 欧美亚洲综合网| 免费看欧美美女黄的网站| 欧美精品一区二区三区高清aⅴ| 国产精品综合二区| 中文字幕在线一区| 欧美性受xxxx黑人xyx| 国产精品私人影院| 精品嫩草影院久久| 国产乱子轮精品视频| 国产精品私人自拍| 91福利在线看| 蜜桃一区二区三区在线观看| 久久精品视频免费| 欧美图区在线视频| 精品综合久久久久久8888| 国产精品污www在线观看| 欧美中文字幕久久|