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

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

?? fileio.c

?? zip壓縮
?? C
?? 第 1 頁 / 共 5 頁
字號:
/*  Copyright (c) 1990-2002 Info-ZIP.  All rights reserved.  See the accompanying file LICENSE, version 2000-Apr-09 or later  (the contents of which are also included in unzip.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*//*---------------------------------------------------------------------------  fileio.c  This file contains routines for doing direct but relatively generic input/  output, file-related sorts of things, plus some miscellaneous stuff.  Most  of the stuff has to do with opening, closing, reading and/or writing files.  Contains:  open_input_file()             open_outfile()           (not: VMS, AOS/VS, CMSMVS, MACOS, TANDEM)             undefer_input()             defer_leftover_input()             readbuf()             readbyte()             fillinbuf()             seek_zipf()             flush()                  (non-VMS)             is_vms_varlen_txt()      (non-VMS, VMS_TEXT_CONV only)             disk_error()             (non-VMS)             UzpMessagePrnt()             UzpMessageNull()         (DLL only)             UzpInput()             UzpMorePause()             UzpPassword()            (non-WINDLL)             handler()             dos_to_unix_time()       (non-VMS, non-VM/CMS, non-MVS)             check_for_newer()        (non-VMS, non-OS/2, non-VM/CMS, non-MVS)             do_string()             makeword()             makelong()             str2iso()                (CRYPT && NEED_STR2ISO, only)             str2oem()                (CRYPT && NEED_STR2OEM, only)             memset()                 (ZMEM only)             memcpy()                 (ZMEM only)             zstrnicmp()              (NO_STRNICMP only)             zstat()                  (REGULUS only)             plastchar()              (_MBCS only)             uzmbschr()               (_MBCS && NEED_UZMBSCHR, only)             uzmbsrchr()              (_MBCS && NEED_UZMBSRCHR, only)             fLoadFarString()         (SMALL_MEM only)             fLoadFarStringSmall()    (SMALL_MEM only)             fLoadFarStringSmall2()   (SMALL_MEM only)             zfstrcpy()               (SMALL_MEM only)  ---------------------------------------------------------------------------*/#define __FILEIO_C      /* identifies this source module */#define UNZIP_INTERNAL#include "unzip.h"#ifdef WINDLL#  include "windll/windll.h"#  include <setjmp.h>#endif#include "crypt.h"#include "ttyio.h"/* setup of codepage conversion for decryption passwords */#if CRYPT#  if (defined(CRYP_USES_ISO2OEM) && !defined(IZ_ISO2OEM_ARRAY))#    define IZ_ISO2OEM_ARRAY            /* pull in iso2oem[] table */#  endif#  if (defined(CRYP_USES_OEM2ISO) && !defined(IZ_OEM2ISO_ARRAY))#    define IZ_OEM2ISO_ARRAY            /* pull in oem2iso[] table */#  endif#endif#include "ebcdic.h"   /* definition/initialization of ebcdic[] *//*   Note: Under Windows, the maximum size of the buffer that can be used   with any of the *printf calls is 16,384, so win_fprintf was used to   feed the fprintf clone no more than 16K chunks at a time. This should   be valid for anything up to 64K (and probably beyond, assuming your   buffers are that big).*/#ifdef WINDLL#  define WriteError(buf,len,strm) \   (win_fprintf(pG, strm, (extent)len, (char far *)buf) != (int)(len))#else /* !WINDLL */#  ifdef USE_FWRITE#    define WriteError(buf,len,strm) \     ((extent)fwrite((char *)(buf),1,(extent)(len),strm) != (extent)(len))#  else#    define WriteError(buf,len,strm) \     ((extent)write(fileno(strm),(char *)(buf),(extent)(len)) != (extent)(len))#  endif#endif /* ?WINDLL */#if (defined(USE_DEFLATE64) && defined(__16BIT__))static int partflush OF((__GPRO__ uch *rawbuf, ulg size, int unshrink));#endif#ifdef VMS_TEXT_CONVstatic int is_vms_varlen_txt OF((__GPRO__ uch *ef_buf, unsigned ef_len));#endifstatic int disk_error OF((__GPRO));/****************************//* Strings used in fileio.c *//****************************/static ZCONST char Far CannotOpenZipfile[] =  "error:  cannot open zipfile [ %s ]\n";#if (!defined(VMS) && !defined(AOS_VS) && !defined(CMS_MVS) && !defined(MACOS))#if (!defined(TANDEM))#if (defined(BEO_THS_UNX) || defined(DOS_FLX_NLM_OS2_W32))   static ZCONST char Far CannotDeleteOldFile[] =     "error:  cannot delete old %s\n";#ifdef UNIXBACKUP   static ZCONST char Far CannotRenameOldFile[] =     "error:  cannot rename old %s\n";   static ZCONST char Far BackupSuffix[] = "~";#endif#endif /* BEO_THS_UNX || DOS_FLX_NLM_OS2_W32 */#ifdef NOVELL_BUG_FAILSAFE   static ZCONST char Far NovellBug[] =     "error:  %s: stat() says does not exist, but fopen() found anyway\n";#endif   static ZCONST char Far CannotCreateFile[] = "error:  cannot create %s\n";#endif /* !TANDEM */#endif /* !VMS && !AOS_VS && !CMS_MVS && !MACOS */static ZCONST char Far ReadError[] = "error:  zipfile read error\n";static ZCONST char Far FilenameTooLongTrunc[] =  "warning:  filename too long--truncating.\n";static ZCONST char Far ExtraFieldTooLong[] =  "warning:  extra field too long (%d).  Ignoring...\n";#ifdef WINDLL   static ZCONST char Far DiskFullQuery[] =     "%s:  write error (disk full?).\n";#else   static ZCONST char Far DiskFullQuery[] =     "%s:  write error (disk full?).  Continue? (y/n/^C) ";   static ZCONST char Far ZipfileCorrupt[] =     "error:  zipfile probably corrupt (%s)\n";#  ifdef SYMLINKS     static ZCONST char Far FileIsSymLink[] =       "%s exists and is a symbolic link%s.\n";#  endif#  ifdef MORE     static ZCONST char Far MorePrompt[] = "--More--(%lu)";#  endif   static ZCONST char Far QuitPrompt[] =     "--- Press `Q' to quit, or any other key to continue ---";   static ZCONST char Far HidePrompt[] = /* "\r                       \r"; */     "\r                                                         \r";#  if CRYPT#    ifdef MACOS       /* SPC: are names on MacOS REALLY so much longer than elsewhere ??? */       static ZCONST char Far PasswPrompt[] = "[%s]\n %s password: ";#    else       static ZCONST char Far PasswPrompt[] = "[%s] %s password: ";#    endif     static ZCONST char Far PasswPrompt2[] = "Enter password: ";     static ZCONST char Far PasswRetry[] = "password incorrect--reenter: ";#  endif /* CRYPT */#endif /* !WINDLL *//******************************//* Function open_input_file() *//******************************/int open_input_file(__G)    /* return 1 if open failed */    __GDEF{    /*     *  open the zipfile for reading and in BINARY mode to prevent cr/lf     *  translation, which would corrupt the bitstreams     */#ifdef VMS    G.zipfd = open(G.zipfn, O_RDONLY, 0, "ctx=stm");#else /* !VMS */#ifdef MACOS    G.zipfd = open(G.zipfn, 0);#else /* !MACOS */#ifdef CMS_MVS    G.zipfd = vmmvs_open_infile(__G);#else /* !CMS_MVS */#ifdef USE_STRM_INPUT    G.zipfd = fopen(G.zipfn, FOPR);#else /* !USE_STRM_INPUT */# ifdef O_BINARY    G.zipfd = open(G.zipfn, O_RDONLY | O_BINARY);# else    G.zipfd = open(G.zipfn, O_RDONLY);# endif#endif /* ?USE_STRM_INPUT */#endif /* ?CMS_MVS */#endif /* ?MACOS */#endif /* ?VMS */#ifdef USE_STRM_INPUT    if (G.zipfd == NULL)#else    /* if (G.zipfd < 0) */  /* no good for Windows CE port */    if (G.zipfd == -1)#endif    {        Info(slide, 0x401, ((char *)slide, LoadFarString(CannotOpenZipfile),          G.zipfn));        return 1;    }    return 0;} /* end function open_input_file() */#if (!defined(VMS) && !defined(AOS_VS) && !defined(CMS_MVS) && !defined(MACOS))#if (!defined(TANDEM))/***************************//* Function open_outfile() *//***************************/int open_outfile(__G)         /* return 1 if fail */    __GDEF{#ifdef DLL    if (G.redirect_data)        return (redirect_outfile(__G) == FALSE);#endif#ifdef QDOS    QFilename(__G__ G.filename);#endif#if (defined(DOS_FLX_NLM_OS2_W32) || defined(BEO_THS_UNX))#ifdef BORLAND_STAT_BUG    /* Borland 5.0's stat() barfs if the filename has no extension and the     * file doesn't exist. */    if (access(G.filename, 0) == -1) {        FILE *tmp = fopen(G.filename, "wb+");        /* file doesn't exist, so create a dummy file to keep stat() from         * failing (will be over-written anyway) */        fputc('0', tmp);  /* just to have something in the file */        fclose(tmp);    }#endif /* BORLAND_STAT_BUG */#ifdef SYMLINKS    if (SSTAT(G.filename, &G.statbuf) == 0 || lstat(G.filename,&G.statbuf) == 0)#else    if (SSTAT(G.filename, &G.statbuf) == 0)#endif /* ?SYMLINKS */    {        Trace((stderr, "open_outfile:  stat(%s) returns 0:  file exists\n",          FnFilter1(G.filename)));#ifdef UNIXBACKUP        if (uO.B_flag) {    /* do backup */            char *tname;            struct stat tmpstat;            int blen, flen, tlen;            blen = strlen(BackupSuffix);            flen = strlen(G.filename);            tlen = flen + blen + 6;    /* includes space for 5 digits */            if (tlen >= FILNAMSIZ) {   /* in case name is too long, truncate */                tname = (char *)malloc(FILNAMSIZ);                if (tname == NULL)                    return 1;                 /* in case we run out of space */                tlen = FILNAMSIZ - 1 - blen;                strcpy(tname, G.filename);    /* make backup name */                tname[tlen] = '\0';                if (flen > tlen) flen = tlen;                tlen = FILNAMSIZ;            } else {                tname = (char *)malloc(tlen);                if (tname == NULL)                    return 1;                 /* in case we run out of space */                strcpy(tname, G.filename);    /* make backup name */            }            strcpy(tname+flen, BackupSuffix);            if (IS_OVERWRT_ALL) {                /* If there is a previous backup file, delete it,                 * otherwise the following rename operation may fail.                 */                if (SSTAT(tname, &tmpstat) == 0)                    unlink(tname);            } else {                /* Check if backupname exists, and, if it's true, try                 * appending numbers of up to 5 digits to the BackupSuffix,                 * until an unused name is found.                 */                unsigned maxtail, i;                char *numtail = tname + flen + blen;                maxtail = 65535;                switch (tlen - flen - blen - 1) {                    case 4: maxtail = 9999; break;                    case 3: maxtail = 999; break;                    case 2: maxtail = 99; break;                    case 1: maxtail = 9; break;                    case 0: maxtail = 0; break;                }                /* while filename exists */                for (i = 0; (i <= maxtail) && (SSTAT(tname, &tmpstat) == 0);)                    sprintf(numtail,"%u", ++i);            }            if (rename(G.filename, tname) != 0) {   /* move file */                Info(slide, 0x401, ((char *)slide,                  LoadFarString(CannotRenameOldFile), FnFilter1(G.filename)));                free(tname);                return 1;            }            Trace((stderr, "open_outfile:  %s now renamed into %s\n",              FnFilter1(G.filename), FnFilter2(tname)));            free(tname);        } else#endif /* UNIXBACKUP */        {#ifdef DOS_FLX_OS2_W32            if (!(G.statbuf.st_mode & S_IWRITE)) {                Trace((stderr,                  "open_outfile:  existing file %s is read-only\n",                  FnFilter1(G.filename)));                chmod(G.filename, S_IREAD | S_IWRITE);                Trace((stderr, "open_outfile:  %s now writable\n",                  FnFilter1(G.filename)));            }#endif /* DOS_FLX_OS2_W32 */#ifdef NLM            /* Give the file read/write permission (non-POSIX shortcut) */            chmod(G.filename, 0);#endif /* NLM */            if (unlink(G.filename) != 0) {                Info(slide, 0x401, ((char *)slide,                  LoadFarString(CannotDeleteOldFile), FnFilter1(G.filename)));                return 1;            }            Trace((stderr, "open_outfile:  %s now deleted\n",              FnFilter1(G.filename)));        }    }#endif /* DOS_FLX_NLM_OS2_W32 || BEO_THS_UNX */#ifdef RISCOS    if (SWI_OS_File_7(G.filename,0xDEADDEAD,0xDEADDEAD,G.lrec.ucsize)!=NULL) {        Info(slide, 1, ((char *)slide, LoadFarString(CannotCreateFile),          FnFilter1(G.filename)));        return 1;    }#endif /* RISCOS */#ifdef TOPS20    char *tfilnam;    if ((tfilnam = (char *)malloc(2*strlen(G.filename)+1)) == (char *)NULL)        return 1;    strcpy(tfilnam, G.filename);    upper(tfilnam);    enquote(tfilnam);    if ((G.outfile = fopen(tfilnam, FOPW)) == (FILE *)NULL) {        Info(slide, 1, ((char *)slide, LoadFarString(CannotCreateFile),          tfilnam));        free(tfilnam);        return 1;    }    free(tfilnam);#else /* !TOPS20 */#ifdef MTS    if (uO.aflag)        G.outfile = fopen(G.filename, FOPWT);    else        G.outfile = fopen(G.filename, FOPW);    if (G.outfile == (FILE *)NULL) {        Info(slide, 1, ((char *)slide, LoadFarString(CannotCreateFile),          FnFilter1(G.filename)));        return 1;    }#else /* !MTS */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
男女男精品视频| 国产在线不卡一区| 91麻豆福利精品推荐| 亚洲国产成人高清精品| 欧美日本在线一区| 久久精品无码一区二区三区| 成人18视频在线播放| 亚洲欧美另类久久久精品| 3d动漫精品啪啪1区2区免费| 久久国产福利国产秒拍| 专区另类欧美日韩| 精品裸体舞一区二区三区| 国产精品18久久久久久vr| 中文字幕成人av| 91精品蜜臀在线一区尤物| 成人午夜激情影院| 激情欧美日韩一区二区| 亚洲男女毛片无遮挡| 久久人人97超碰com| 日韩欧美国产精品一区| 欧美剧情片在线观看| 欧美最猛性xxxxx直播| 国内成人免费视频| 国产a视频精品免费观看| 亚洲最新视频在线播放| 欧美精品一区二区在线观看| 欧美一区二区三区精品| 色呦呦日韩精品| 色综合天天综合网天天看片| 成人国产精品免费观看| 久久激情综合网| 老司机午夜精品99久久| 丰满白嫩尤物一区二区| 成人免费电影视频| 欧美亚洲一区二区在线| 欧美一区二区三区视频| 日韩欧美一级片| 久久亚洲捆绑美女| 国产精品久久精品日日| 亚洲国产综合色| 毛片av一区二区| 欧美中文字幕亚洲一区二区va在线 | 亚洲欧美日韩电影| 免费在线成人网| 国产精品一卡二卡在线观看| 日本高清不卡aⅴ免费网站| 555www色欧美视频| 亚洲人一二三区| 国产麻豆91精品| 欧美浪妇xxxx高跟鞋交| 一区二区三区欧美久久| 天天综合网天天综合色| 99精品黄色片免费大全| 精品国产乱码久久久久久1区2区| 国产精品久久久久久久久免费樱桃 | 激情伊人五月天久久综合| 91啦中文在线观看| 国产精品色噜噜| 成人一区二区在线观看| 欧美zozozo| 狠狠色丁香婷综合久久| 欧美成人性福生活免费看| 免费在线一区观看| 欧美日韩卡一卡二| 亚洲电影一区二区| av网站免费线看精品| 国产精品久久久久久亚洲毛片 | 麻豆精品视频在线观看| 日韩免费看网站| 国产在线观看一区二区| 欧美国产1区2区| 国产一区视频网站| 丝袜亚洲另类欧美| 欧美mv和日韩mv的网站| 国产精品18久久久久久vr| 日本一区二区电影| 在线观看视频一区二区| 蜜桃视频一区二区三区在线观看| 日韩精品一区二区三区四区| 韩国v欧美v亚洲v日本v| 国产欧美日韩另类视频免费观看| 成人午夜电影网站| 日韩国产精品大片| 亚洲三级久久久| 精品久久人人做人人爽| 91一区二区在线观看| 免费成人深夜小野草| 国产精品乱子久久久久| 91精品国产综合久久久蜜臀图片| 久久精品国产精品亚洲红杏| 国产精品久久久久久久裸模| 欧美日韩国产123区| av网站免费线看精品| 激情亚洲综合在线| 日韩精品午夜视频| 一卡二卡欧美日韩| 国产精品不卡在线| 久久亚洲精精品中文字幕早川悠里| 99国内精品久久| 国产成人av福利| 国产制服丝袜一区| 精品亚洲成a人在线观看| 亚洲国产精品人人做人人爽| 欧美国产视频在线| 日韩欧美一区在线| 欧美日韩精品一区二区天天拍小说 | 国产精品久久久久久久裸模| 精品免费一区二区三区| 欧美一区二区三区四区五区| 欧美日韩一本到| 日本高清不卡视频| 欧美性欧美巨大黑白大战| 欧美日韩在线电影| 欧美中文字幕亚洲一区二区va在线 | 国产欧美一区二区在线观看| 日韩一区二区三区在线观看| 欧美成人精品福利| 欧美国产日韩一二三区| 亚洲欧洲精品一区二区三区| 亚洲精品成a人| 日韩av午夜在线观看| 国产一区二区h| 色婷婷精品久久二区二区蜜臀av | 久久精品亚洲精品国产欧美kt∨| 国产日韩在线不卡| 亚洲精品日韩专区silk| 蜜桃在线一区二区三区| 国产精品一区二区x88av| 色先锋资源久久综合| 日韩一区二区三区三四区视频在线观看 | 欧美二区三区的天堂| 久久精品无码一区二区三区| 亚洲18色成人| 成人小视频免费在线观看| www.成人网.com| 久久你懂得1024| 日本成人在线看| 色av综合在线| 国产精品久久久久久久久免费樱桃 | 国产精品污www在线观看| 日韩av在线免费观看不卡| 91色.com| 一区二区三区在线观看网站| 国产综合色视频| 成人欧美一区二区三区视频网页| 亚洲欧美激情插| av资源站一区| 中文av一区特黄| 成人黄色免费短视频| 久久久久久久久久电影| 另类欧美日韩国产在线| 欧美成人猛片aaaaaaa| 日av在线不卡| 久久久亚洲精品一区二区三区 | 精品国产三级电影在线观看| 三级成人在线视频| 日韩一区二区三区观看| 国内成人精品2018免费看| 欧美一级欧美三级| 黄色资源网久久资源365| 精品成人在线观看| 韩国理伦片一区二区三区在线播放| 日韩精品中文字幕在线不卡尤物 | 国产精品嫩草影院av蜜臀| 99精品国产99久久久久久白柏| 一二三四社区欧美黄| 欧美剧在线免费观看网站| 九九九久久久精品| 国产无一区二区| 在线影院国内精品| 国产成人a级片| 中文字幕制服丝袜一区二区三区| 91在线视频观看| 美女精品自拍一二三四| 国产精品进线69影院| 欧美天堂亚洲电影院在线播放| 六月丁香婷婷色狠狠久久| 亚洲综合999| 亚洲欧美在线aaa| 91精品国产欧美一区二区成人 | 日韩综合小视频| 国产精品福利在线播放| 欧美绝品在线观看成人午夜影视| 成人av动漫在线| 不卡一区在线观看| 高清日韩电视剧大全免费| 免费在线看一区| 美女一区二区视频| 亚洲一区免费视频| 亚欧色一区w666天堂| 亚洲一区二区三区四区不卡 | 一区二区三区中文在线观看| 亚洲欧洲精品一区二区三区| 精品99一区二区| 久久久精品日韩欧美| 欧美激情一区二区三区在线| 久久精品视频在线免费观看| 亚洲精品一区二区三区在线观看| 日韩一区二区三免费高清| 欧美videossexotv100|