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

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

?? unzip.c

?? 一個本地database引擎,支持中文T_Sql查詢,兼容DELPHI標準數據庫控件
?? 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在线播放不卡| 亚洲视频免费看| 91精品久久久久久久99蜜桃| av一区二区三区四区| 成人高清免费在线播放| 国产麻豆精品在线观看| 麻豆国产欧美一区二区三区| 日韩av电影免费观看高清完整版在线观看| 亚洲欧美日韩一区二区| 亚洲精品乱码久久久久久久久 | 亚洲一区二区三区美女| 亚洲欧美自拍偷拍| 亚洲欧洲国产专区| 亚洲精品成人在线| 性做久久久久久免费观看 | 7777女厕盗摄久久久| 欧美一级免费观看| 精品国产1区二区| 国产女人水真多18毛片18精品视频 | 欧美性猛片aaaaaaa做受| 欧美日韩在线播放三区| 欧美一区二区三区免费视频| 精品久久久久久久人人人人传媒 | 欧美日韩国产高清一区二区| 制服丝袜av成人在线看| 亚洲精品在线三区| 18成人在线观看| 日韩电影网1区2区| 成人中文字幕电影| 欧美日韩第一区日日骚| 久久影院午夜片一区| 国产精品久久三区| 日韩av不卡在线观看| 国产成人在线免费| 欧美午夜片在线看| 国产亚洲婷婷免费| 亚洲国产日产av| 国产成人在线电影| 欧美性色综合网| 国产午夜久久久久| 亚洲国产成人91porn| 国产精品小仙女| 欧美情侣在线播放| 国产精品另类一区| 蜜桃视频在线观看一区二区| 97久久超碰精品国产| 精品国产露脸精彩对白| 亚洲一线二线三线视频| 国产v日产∨综合v精品视频| 欧美撒尿777hd撒尿| 国产三级久久久| 日本欧美一区二区三区乱码| 99热国产精品| ww亚洲ww在线观看国产| 天天操天天色综合| 91亚洲资源网| 日本一区二区三区免费乱视频| 午夜伦欧美伦电影理论片| 波多野结衣中文字幕一区| 精品国产凹凸成av人网站| 亚洲一区欧美一区| 91美女蜜桃在线| 久久久www免费人成精品| 免费av网站大全久久| 在线区一区二视频| 亚洲丝袜美腿综合| 成人一区二区三区中文字幕| 亚洲精品在线免费播放| 美女在线视频一区| 欧美夫妻性生活| 午夜精品久久久久| 欧美天天综合网| 亚洲卡通动漫在线| 日本电影亚洲天堂一区| 亚洲色图欧洲色图婷婷| 成人激情黄色小说| 国产精品女主播av| 粉嫩嫩av羞羞动漫久久久| 国产视频亚洲色图| 高清久久久久久| 国产三级欧美三级| 成人性生交大片免费看视频在线 | 亚洲视频香蕉人妖| 国产一区二区免费看| 久久综合资源网| 国产激情一区二区三区四区| 精品乱人伦小说| 国产在线精品一区二区不卡了| 精品国产一二三| 国产成人福利片| 国产精品网站导航| 91蜜桃网址入口| 三级影片在线观看欧美日韩一区二区 | 国产原创一区二区三区| 久久精品综合网| 92国产精品观看| 亚洲精选视频免费看| 欧美色中文字幕| 免费成人在线视频观看| 国产日产亚洲精品系列| 91啪亚洲精品| 亚州成人在线电影| 久久久精品蜜桃| 91视频一区二区三区| 午夜精品福利一区二区蜜股av| 欧美日韩www| 成人免费黄色在线| 亚洲一区在线观看网站| 精品久久久久久久久久久久久久久| 国产一区二区三区在线看麻豆| 成人免费在线观看入口| 欧美丰满少妇xxxxx高潮对白| 狠狠色狠狠色综合日日91app| 最新中文字幕一区二区三区| 欧美日韩国产精品自在自线| 国产精品原创巨作av| 亚洲综合精品自拍| 国产亚洲福利社区一区| 欧美视频日韩视频在线观看| 激情偷乱视频一区二区三区| 亚洲三级在线免费观看| 精品黑人一区二区三区久久| 99re成人在线| 国产一区二区久久| 亚洲欧美综合另类在线卡通| 欧美精品日韩综合在线| 日本韩国一区二区| 成人一区二区三区在线观看| 久久99精品久久久久| 亚洲成人精品一区二区| 亚洲欧洲色图综合| 国产亚洲制服色| 欧美大胆一级视频| 欧美日韩高清在线| 一本久久综合亚洲鲁鲁五月天 | 国产成人免费视频精品含羞草妖精| 亚洲一区二区三区中文字幕| 91精选在线观看| 成人午夜又粗又硬又大| 最新高清无码专区| 青娱乐精品视频| 久久天堂av综合合色蜜桃网| 国产中文字幕精品| 欧美精品一区男女天堂| av一区二区三区在线| 有坂深雪av一区二区精品| 欧美人与禽zozo性伦| 一二三四社区欧美黄| 欧美另类videos死尸| 香蕉成人啪国产精品视频综合网 | 日韩午夜精品视频| 成人国产精品免费观看动漫 | 亚洲一区二区三区四区不卡| 久久综合狠狠综合久久激情| 91福利在线播放| 国产精品系列在线播放| 午夜精品久久久久久不卡8050| 久久久噜噜噜久久人人看| 成人av在线一区二区| 另类小说图片综合网| 一区二区久久久久| 日本一区二区三区在线不卡| 日韩一区二区三区电影| 一本大道久久精品懂色aⅴ| 国产另类ts人妖一区二区| 亚洲成人综合网站| 亚洲色图在线视频| 久久精品亚洲精品国产欧美| 欧美色大人视频| 91蜜桃网址入口| 99精品视频一区二区三区| 国产精品自在在线| 美女网站色91| 日日噜噜夜夜狠狠视频欧美人| 最好看的中文字幕久久| 国产精品欧美久久久久无广告| 精品国产伦一区二区三区观看方式| 欧美日韩国产综合草草| 在线观看成人免费视频| 91视频在线看| 91一区一区三区| 91啪亚洲精品| 一本大道av一区二区在线播放| 风间由美一区二区三区在线观看| 韩国女主播一区| 老司机一区二区| 毛片一区二区三区| 久久99精品国产| 国产一区二区久久| 国产成a人亚洲| 成人a免费在线看| 99久久精品免费| 欧美视频在线播放| 欧美色视频一区| 欧美一区二区高清| 日韩欧美国产系列| 久久久精品国产免费观看同学| 久久久综合视频| 中文一区二区完整视频在线观看 |