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

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

?? kaeziparchiveimplement.cpp

?? zip解壓源碼.
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
            //m_nTempFileCreated = 0;

            break;
            
            /*              
            //if (rsize)                          // q. use up input stream?
            //    quit_with(data_error);          // a. no .. quit w/err message
                  
            crc ^= 0xffffffffL;                 // finalize crc value
                    
            ASSERT(crc == lfp->lf_crc);         //seawind modified //exit
                      
            //if (crc != lfp->lf_crc)             // q. crc match?
            //    quit_with(crc_error);           // a. no .. quit w/err message
                        
            //if (sw_test)                        // q. testing files?
            //    printf(test_ok);                // a. yes .. give confirmation
            //else
            //    printf(" \n");                  // else .. just goto next line
            */
        }
        
    case 2:                                 // completion call
        //if (total_files)                    // q. anything done?
        //    printf(extract_done, sw_test ?  // a. yes .. print "extract" or
        //        extract_tc : extract_ec,    // .."test" complete message
        //        total_files);               // ..and total file count
        //else
        //    printf(extract_none);           // else .. say nothing happened
        //if (sb)
        //{
        //    free(sb);                           // free memory for output buffer
        //    sb_size = 0;                        // clean dictionary size
        //    sb = NULL;      
        //    sbe = NULL;
        //}
        
        
        break;                              // then return to caller
    }

    return;
}


/* ******************************************************************** *
 *
 *  extract_open() -- open the destination file for output
 *
 *  Returns: 1 = output file opened
 *           0 = skip file expansion
 *
 * ******************************************************************** */
int KAEZipArchive::extract_open(LF *lfp)
{
    char fname[MAX_PATH];

    /*
    if(LAST(output_path) != '\\')
        StrCat(output_path,"\\");

    StrCpy(fname,output_path);
    StrCat(fname,wf.fname);
    StrCat(fname,wf.ext);
    */

    //int nTempPathNameSize = StrLen(output_path) + 1;
    int nRetTempFileNameSize;

    piKSProvidePath->GetTmpFileName(
        0,//nTempPathNameSize,
        NULL,//output_path,
        MAX_PATH,
        fname,
        &nRetTempFileNameSize
        );

    ASSERT(nRetTempFileNameSize > 1);

    //seawind added
    StrCpy(m_szPathNameInTemp, fname);

    //seawind added
    int len = StrLen(m_szFullNameInArchive) + 1;
    ASSERT(len > 1);

    /*
    int nRetVal = 0;    // default is ok
    
    if (m_pfnPreProcessFile)
    {
        nRetVal = m_pfnPreProcessFile(
            len, m_szFullNameInArchive, 
            m_pvPreProcessContext
        );
    }
    */

    KSCOMRESULT krResult = KSCOM_E_FAIL;

    ASSERT(m_piArchiveCallBack != NULL);
    krResult = m_piArchiveCallBack->KAEArchivePreProcess(
        len, m_szFullNameInArchive
    );
    
    if (FAILED(krResult))   // include KSCOM_E_USER_BREAK and all error value
    {
        m_nActionCancel = 1;//cancel the action
        return 0;   //don't open it
    }


    switch(krResult)
    {
    case KSCOM_S_SKIP:      //no,don't open it and I want to see next one
        return 0;           //don't open it

    default:                // KSCOM_S_OK and other SUCCESSFUL value
        ofile = fopen(fname, "wb");
        if (!ofile)
            return 0;       //don't open it
    }

    return 1;               // open it

    /*
    char    fname[13];                          // filename string
    struct  find_t dde;                         // DOS directory entry

    if (sw_test)                                // q. test integrity?
    {                                           // a. yes .. open NUL for output
        if ((ofile = fopen("NUL", "w+")) == NULL)   // q. open nothing ok?
            quit_with(open_error);                  // a. no .. quit w/error

        return(0);                                  // else .. return ok
    }

    StrCpy(fname, wf.fname);                    // copy filename to work..
    StrCat(fname, wf.ext);                      // ..and extension

    if (*wf.dir && chdir(wf.dir))               // q. destination dir ok?
    {                                       // a. no .. not available
        if (sw_dirs)                            // q. make new directory?
        {                                   // a. yes .. create new one
            if (make_path(wf.dir))              // q. dir create ok?
                quit_with(invalid_dir);         // a. no .. quit w/err msg
        }
    }

    if (NOT _dos_findfirst(fname,               // q. find requested file
                FILE_ATTR, &dde))               // ..in target directory?
    {                                       // a. yes .. handle error
        if (sw_freshen || sw_new)               // q. freshen old or new files?
                                               // a. check dates and times
        {
            if ((((long) dde.wr_date << 16) + dde.wr_time) >=   // q. existing
              (((long) lfp->lf_date << 16) + lfp->lf_time)) // file newer?
            {
                change_dir(output_path);            // a. yes .. change back
                return(1);                          // ..and bypass this one
            }
        }
        else 
            if (NOT sw_overwrite)             // q. overwrite enabled?
            {                                   // a. no .. give user info
                printf(old_file, wf.path,           // give info on old file..
                        dde.size,                   // ..including file size
                        file_date(dde.wr_date,      // ..file date
                        dde.wr_time));          // ..and time

                printf(new_file,                    // then give info on new file..
                        lfp->lf_size,               // ..including file size
                        file_date(lfp->lf_date,     // ..file date
                            lfp->lf_time));         // ..and time

                if (overwrite_prompt())             // q. bypass this file?
                {
                    change_dir(output_path);        // a. yes .. change back
                    return(1);                      // ..and skip this file
                }
            }

        delete_file(fname);                     // delete/unlink/remove file

    }
    else
    {
        if (sw_freshen)                         // q. only freshening files?
        {
            change_dir(output_path);            // a. yes .. change back
            return(1);                          // ..and bypass this one
        }
    }

    if ((ofile = fopen(fname, "w+")) == NULL)   // q. create work this time?
        quit_with(open_error);                  // a. no .. quit w/error

    if (*wf.dir)                                // q. destination dir used?
        chdir(output_path);                     // a. yes .. chg back to base path

    return(0);                                  // ..and process this file
    */
}

/* ******************************************************************** *
 *
 *  extract_stored() -- extract a stored file
 *
 * ******************************************************************** */
void KAEZipArchive::extract_stored()
{
    extract_copy(rsize);                        // copy stored data to file
}

/* ******************************************************************** *
 *
 *  extract_copy() -- copy stored data to output stream
 *
 * ******************************************************************** */
void KAEZipArchive::extract_copy(ULONG len)
{
    char   *b,                                  // work buffer pointer
           *p;                                  // work pointer
    UINT    csize = 0;                          // current read size


    b = (char *) malloc_chk((UINT) COPY_BUFFER);// get an file buffer
    ASSERT(b != NULL);                          //seawind added
    if (!b)
    {
        m_nZipFileCracked = 1;
        return;
    }


    while (len)                                 // loop copying file to output
    {
        //seawind added for stop
        if(m_nActionCancel || m_nZipFileCracked)
            break;

        csize = (len <= COPY_BUFFER) ?          // determine next read size
                (int) len : (UINT) COPY_BUFFER;

        //if (fread(b, 1, csize, ifile) != csize) // q. read ok?
        //  quit_with(read_error);              // a. no .. quit w/error msg
        
        if(fread(b, 1, csize, ifile) != (int)csize)  //seawind modified
        {
            m_nZipFileCracked = 1;
            goto Exit0;
        }

        rsize -= csize;                         // decrement remaining length
        len -= csize;                           // ..and loop control length

        for (p = b; csize--;)                   // for the whole block
            store_char(*p++);                   // ..write output data
    }

Exit0:

    free(b);                                    // ..and release file buffer

}

/* ******************************************************************** *
 *
 *  extract_shrunk() -- extract a LZW shrunk file
 *
 * ******************************************************************** */
void KAEZipArchive::extract_shrunk()
{
    int     b_c,                                // base code
            p_c,                                // previous code
            s_c,                                // saved code
            c;                                  // current code
    UINT    cnt;                                // decode stack counter
    char    cs = 9;                             // code size
    
    /*
    SD      huge *dict,                         // main dictionary
            huge *d,                            // dictionary entry pointer
            huge *fd,                           // next free pointer
            huge *ld;                           // last entry
    char    huge *decode_stack;                 // decode stack
    */

    //seawind added
    SD      *dict,                         // main dictionary
            *d,                            // dictionary entry pointer
            *fd,                           // next free pointer
            *ld;                           // last entry
    char    *decode_stack;                 // decode stack

    /*
    dict = (SD huge *) huge_malloc(sizeof(SD) * TABLE_SIZE);    // allocate dictionary trees
    decode_stack = (char huge *) huge_malloc(TABLE_SIZE);       // ..and allocate decode stack
    */

    //seawind added
    dict = (SD *) malloc_chk(sizeof(SD) * TABLE_SIZE);          // allocate dictionary trees
    decode_stack = (char *) malloc_chk(TABLE_SIZE);             // ..and allocate decode stack

    ld = &dict[TABLE_SIZE];                 // get address of last entry

    for (fd = d = &dict[257]; d < ld; d++)  // loop thru dictionary
        d->parent_c = FREE;                 // ..and make each one free

    store_char(p_c = b_c = get_code(cs));   // get and store a code

    for (;;)                                // inner loop
    {
        //seawind added for stop
        if(m_nActionCancel || m_nZipFileCracked)
            break;

        cnt = 0;                            // reset decode stack

        if ((s_c = c = get_code(cs)) == -1) // q. end of data?
            break;                          // a. yes .. exit loop

        if (c == 256)                       // q. special code?
        {                                   // a. yes .. get next code
            //if ((c = get_code(cs)) == -1)     // q. get next code ok?
            //  quit_with(data_error);          // a. no .. quit w/error msg

            //seawind added
            c = get_code(cs);

            if(c == -1)
            {
                //seawind added
                m_nZipFileCracked = 1;
                break;
            }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人精品国产免费网站| 在线不卡免费av| 亚洲国产一区在线观看| 日韩三级中文字幕| 成人免费精品视频| 日韩国产欧美在线观看| 欧美国产禁国产网站cc| 在线播放日韩导航| 国产精品系列在线观看| 亚洲一二三四区不卡| 国产目拍亚洲精品99久久精品| 在线观看av一区| 国产iv一区二区三区| 日韩电影在线观看网站| 亚洲精品大片www| 国产精品乱码人人做人人爱| 日韩欧美国产精品一区| 欧美日本国产视频| 色婷婷av一区二区| 国产成人高清在线| 国产自产高清不卡| 日韩国产精品久久| 亚洲综合小说图片| 亚洲天堂av一区| 欧美高清在线一区| 国产亚洲视频系列| 26uuu国产在线精品一区二区| 91精品国产综合久久久蜜臀粉嫩 | 精品国产乱子伦一区| 欧洲一区在线观看| 91丨国产丨九色丨pron| 成人黄色在线网站| 国产91对白在线观看九色| 久久国产生活片100| 亚洲第一主播视频| 亚洲一区二区av电影| 亚洲最色的网站| 一区二区三区波多野结衣在线观看| 亚洲欧洲精品一区二区精品久久久| 国产欧美综合色| 国产日韩精品一区二区三区| 久久亚洲精精品中文字幕早川悠里 | 国产精品中文字幕欧美| 免费在线观看一区| 久久精品免费观看| 奇米888四色在线精品| 日韩国产欧美一区二区三区| 日本va欧美va瓶| 久久精品99国产精品| 久久精品一区蜜桃臀影院| 久久日一线二线三线suv| 久久久久久久久久久久久女国产乱 | 日韩免费观看高清完整版| 欧美一区二区三区啪啪| 91精品国产免费| 日韩精品中文字幕在线不卡尤物| 精品日韩欧美一区二区| 久久久九九九九| 国产夜色精品一区二区av| 国产精品久久久久久久久久免费看| www亚洲一区| 久久久午夜电影| 国产欧美综合在线观看第十页| 亚洲色大成网站www久久九九| 亚洲午夜av在线| 蜜臀91精品一区二区三区| 国产精品一二三在| 午夜视频在线观看一区二区三区| 日本 国产 欧美色综合| 狠狠色综合日日| 成人免费看的视频| 4438亚洲最大| 中文字幕av不卡| 一区二区不卡在线播放| 日韩精品久久久久久| 国产一区二区免费视频| 91免费版pro下载短视频| 91精品福利在线一区二区三区| 久久久激情视频| 日韩视频一区二区在线观看| 国产精品久久久久久久久免费丝袜| 亚洲一区二区三区四区五区中文 | 老司机一区二区| 成人av免费在线| 91精品国产色综合久久不卡蜜臀 | 欧美成人午夜电影| 国产精品国产馆在线真实露脸 | jlzzjlzz亚洲女人18| 欧美三级视频在线观看| 国产午夜精品一区二区| 亚洲国产人成综合网站| 国产69精品一区二区亚洲孕妇| 欧美浪妇xxxx高跟鞋交| 91黄色免费网站| 久久久蜜臀国产一区二区| 一区二区三区在线视频观看| 韩国三级在线一区| 欧美日韩国产综合视频在线观看| 久久精品一二三| 亚洲一区二区美女| 不卡电影一区二区三区| 91精品国产综合久久香蕉麻豆| 亚洲免费在线视频| 国产aⅴ综合色| 日韩美女主播在线视频一区二区三区| 91精彩视频在线观看| 欧美激情中文不卡| 麻豆精品在线播放| 欧美色爱综合网| 亚洲人快播电影网| 福利一区在线观看| 欧美va亚洲va在线观看蝴蝶网| 亚洲福利电影网| 色网综合在线观看| 国产精品日产欧美久久久久| 日韩福利电影在线| 欧美在线免费观看视频| 亚洲视频精选在线| 亚洲黄色小说网站| jlzzjlzz亚洲女人18| 久久久国际精品| 青青青伊人色综合久久| 色香蕉久久蜜桃| 亚洲美女屁股眼交| 成人免费看片app下载| 国产欧美日韩视频在线观看| 精品亚洲欧美一区| 欧美成人a在线| 亚洲影视资源网| 欧美色偷偷大香| 亚洲自拍偷拍九九九| 午夜免费欧美电影| 91亚洲国产成人精品一区二三| 菠萝蜜视频在线观看一区| 最近日韩中文字幕| 成人av在线看| 国产精品系列在线| 国产在线不卡一区| 精品国产一区二区三区av性色| 久久精品国产亚洲高清剧情介绍 | 亚洲六月丁香色婷婷综合久久| 欧美系列亚洲系列| 精品综合久久久久久8888| 欧美激情在线免费观看| 欧美亚洲国产bt| 久久97超碰国产精品超碰| 国产精品久久午夜| 欧美三电影在线| 国产精品自产自拍| 亚洲激情网站免费观看| 欧美一区二区人人喊爽| 国产麻豆视频精品| 亚洲精品v日韩精品| 91.麻豆视频| 粉嫩aⅴ一区二区三区四区| 亚洲国产毛片aaaaa无费看| 精品福利二区三区| 欧美伊人久久久久久久久影院| 经典三级视频一区| 亚洲一区二区不卡免费| 久久精品亚洲精品国产欧美| 欧美日韩视频一区二区| 国产一区二区三区美女| 亚洲电影一区二区| 欧美激情一区二区三区不卡| 欧美日本高清视频在线观看| 成人国产精品免费观看动漫 | 欧美日韩一区 二区 三区 久久精品| 极品美女销魂一区二区三区| 国产精品久久毛片| 精品国产第一区二区三区观看体验 | 97久久精品人人做人人爽50路| 蜜臂av日日欢夜夜爽一区| 欧美人妖巨大在线| 99精品久久只有精品| 国产自产2019最新不卡| 三级一区在线视频先锋| 亚洲精品国产a| 中文字幕电影一区| 成人妖精视频yjsp地址| 麻豆高清免费国产一区| 亚洲国产视频在线| 亚洲色图欧美在线| 中文子幕无线码一区tr | 天涯成人国产亚洲精品一区av| 久久精品欧美日韩精品 | 日韩制服丝袜先锋影音| 欧美激情综合在线| 精品国精品国产| 看片的网站亚洲| 麻豆极品一区二区三区| 天天综合天天做天天综合| 一二三区精品福利视频| 国产精品久久久久aaaa樱花 | 国产精品乱码久久久久久| 精品粉嫩aⅴ一区二区三区四区| 制服丝袜中文字幕亚洲| 欧美日韩成人高清| 欧美日韩国产一区| 在线视频观看一区|