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

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

?? unzip.c

?? WINDOWS下的ZIP解壓軟件,我是個學生,請讓我加入這個網站學習
?? C
?? 第 1 頁 / 共 5 頁
字號:
/*---------------------------------------------------------------------------

  unzip.c

  UnZip - a zipfile extraction utility.  See below for make instructions, or
  read the comments in Makefile and the various Contents files for more de-
  tailed explanations.  To report a bug, send a *complete* description to
  zip-bugs@cs.ucla.edu; include machine type, operating system and version,
  compiler and version, and reasonably detailed error messages or problem
  report.  To join Info-ZIP, send a message to info-zip-request@cs.ucla.edu.

  UnZip 5.x is a greatly expanded and partially rewritten successor to 4.x,
  which in turn was almost a complete rewrite of version 3.x.  For a detailed
  revision history, see UnzpHist.zip at Info-ZIP headquarters (below).  For a 
  (partial) list of the many (near infinite) contributors, see "CONTRIBS" in
  the UnZip source distribution.

  ---------------------------------------------------------------------------

  To compile (partial instructions):

     under Unix (cc):  make <system name>
       (type "make list" for a list of valid names, or read Makefile for 
       details.  "make unzip" works for most systems.  If you have a NEW
       system, not covered by any of the existing targets, send FULL infor-
       mation--hardware, OS, versions, etc.--to zip-bugs@cs.ucla.edu)

     under MS-DOS (MSC, Turbo C, or Borland C++):  use the makefiles or
       project files in the MSDOS sub-archive; edit or otherwise modify
       as appropriate.  For MSC, use NMAKE.

     under MS Windows 3.x:  get wunz12sr.{zip | zoo | whatever} and use
       the included makefile

     under OS/2 (MSC, gcc, IBM C Set/2, Watcom C):  make -f makefile.os2
       (from OS2 sub-archive; for MSC, use NMAKE)

     under VMS (VAX C or GNU C):  @make_unzip_vaxc  or  @make_unzip_gcc
       (from VMS sub-archive; can also use MMS or MAKE/VMS; see VMS.notes)

     under Macintosh OS:  Double click on unzip.make.  Press <Command>-M.
       (from MAC sub-archive)

     under Windows NT:  use makefile.nt (from NT sub-archive)

     under AmigaDOS:  try one of the makefiles in the AMIGA sub-archive;
       may need some work yet...

     under Atari TOS:  needs considerable work yet...

  ---------------------------------------------------------------------------

  Version:  unz50p1.{tar.Z | zip | zoo} for Unix, VMS, OS/2, MS-DOS, Windows,
              Windows NT, Macintosh and Amiga.  Decryption requires sources
              in zcrypt19.zip, and Windows (not NT) support requires sources
              in wunz12sr.zip.  See accompanying file "Where" in the main
              source distribution for ftp, uucp and mail-server sites.
  Copyrights:  see accompanying file "COPYING" in UnZip source distribution.

  ---------------------------------------------------------------------------*/





#include "unzip.h"               /* includes, defines, and macros */
#ifdef MSWIN
#  include "wizunzip.h"          /* see History.500 for version history */
#endif

#define VERSION  "5.0p1 of 12 January 1993"
/* #define VERSION  "v5.0p BETA of 8-21-92" */   /* internal beta level */
#define PAKFIX   /* temporary(?) solution to PAK-created zipfiles */





/**********************/
/*  Global Variables  */
/**********************/

int aflag=0;          /* -a: do ASCII to EBCDIC translation, or CR-LF  */
                      /*     to CR or LF conversion of extracted files */
/* int bflag=0; RESERVED for -b: extract as binary */
int cflag=0;          /* -c: output to stdout */
int fflag=0;          /* -f: "freshen" (extract only newer files) */
int jflag=0;          /* -j: junk pathnames */
int overwrite_none=0; /* -n: never overwrite files (no prompting) */
int overwrite_all=0;  /* -o: OK to overwrite files without prompting */
int force_flag=0;     /* (shares -o for now): force to override errors, etc. */
int quietflg=0;       /* -q: produce a lot less output */
#ifdef DOS_OS2
   int sflag=1;       /* -s: allow spaces (blanks) in filenames */
#endif /* DOS_OS2 */
int tflag=0;          /* -t: test */
int uflag=0;          /* -u: "update" (extract only newer & brand-new files) */
static int U_flag=0;  /* -U: leave filenames in upper or mixed case */
static int vflag=0;   /* -v: view directory (only used in unzip.c) */
int V_flag=0;         /* -V: don't strip VMS version numbers */
#ifdef VMS
   int secinf=0;      /* -X: keep owner/protection */
#endif /* VMS */
int zflag=0;          /* -z: display only the archive comment */
int process_all_files=0;

longint csize;        /* used by list_files(), ReadByte(): must be signed */
longint ucsize;       /* used by list_files(), unReduce(), explode() */

char *fnames[2] = {"*", NULL};   /* default filenames vector */
char **fnv = fnames;
char sig[5];
char answerbuf[10];

min_info info[DIR_BLKSIZ], *pInfo=info;

#ifdef OS2
   int longname;              /* used in extract.c, mapname.c and file_io.c */
   char longfilename[FILNAMSIZ];
#endif /* OS2 */

#ifdef CRYPT
   char *key = (char *)NULL;  /* password with which to decrypt data, or NULL */
#endif /* CRYPT */

/*---------------------------------------------------------------------------
    unShrink/unReduce/explode/inflate working storage and globals:
  ---------------------------------------------------------------------------*/

union work area;              /* see unzip.h for the definition of work */
ULONG crc32val;

UWORD mask_bits[] = {
    0x0000,
    0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
    0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
};

/*---------------------------------------------------------------------------
    Input file variables:
  ---------------------------------------------------------------------------*/

byte *inbuf, *inptr;     /* input buffer (any size is legal) and pointer */
int incnt;

ULONG bitbuf;
int bits_left;
boolean zipeof;

int zipfd;               /* zipfile file handle */
#ifdef MSWIN
   char *zipfn;
#else
   char zipfn[FILNAMSIZ];
#endif

char local_hdr_sig[5] = "\120";    /* remaining signature bytes come later   */
char central_hdr_sig[5] = "\120";  /*  (must initialize at runtime so unzip  */
char end_central_sig[5] = "\120";  /*  executable won't look like a zipfile) */
/* char extd_local_sig[5] = "\120";  NOT USED YET */

cdir_file_hdr crec;      /* used in unzip.c, extract.c, misc.c */
local_file_hdr lrec;     /* used in unzip.c, extract.c */
ecdir_rec ecrec;         /* used in unzip.c, extract.c */
struct stat statbuf;     /* used by main(), mapped_name(), check_for_newer() */

longint extra_bytes = 0;        /* used in unzip.c, misc.c */
longint cur_zipfile_bufstart;   /* extract_or_test_files, readbuf, ReadByte */
  
#ifdef MACOS
   short  gnVRefNum;
   long  glDirID;
   OSType  gostCreator;
   OSType  gostType;
   boolean  fMacZipped;
   boolean  macflag;
   CursHandle  rghCursor[4];    /* status cursors */
   short  giCursor = 0;
#endif

/*---------------------------------------------------------------------------
    Output stream variables:
  ---------------------------------------------------------------------------*/

byte *outbuf;                   /* buffer for rle look-back */
byte *outptr;
byte *outout;                /* scratch pad for ASCII-native trans */
#ifdef MSWIN
   char *filename;
#else /* !MSWIN */
   char filename[FILNAMSIZ];
#endif /* ?MSWIN */
byte *extra_field = (byte *)NULL;  /* used by VMS, Mac and OS/2 versions */
longint outpos;                 /* absolute position in outfile */
int outcnt;                     /* current position in outbuf */
int outfd;
int mem_mode = 0;
int disk_full;

/*---------------------------------------------------------------------------
    unzip.c static global variables (visible only within this file):
  ---------------------------------------------------------------------------*/

static byte *hold;
static char unkn[10];
static longint ziplen;
static UWORD methnum;

/*---------------------------------------------------------------------------
    unzip.c repeated error messages (we use all of these at least twice)
  ---------------------------------------------------------------------------*/

char *EndSigMsg = "\nwarning:\
  didn't find end-of-central-dir signature at end of central dir.\n";
char *CentSigMsg =
  "error:  expected central file header signature not found (file #%u).\n";
char *SeekMsg =
  "error:  attempt to seek before beginning of zipfile\n%s";

#ifdef VMS
char *ReportMsg = "\
  (please check that you have transferred or created the zipfile in the\n\
  appropriate BINARY mode--this includes ftp, Kermit, AND unzip'd zipfiles)\n";
#else /* !VMS */
char *ReportMsg = "\
  (please check that you have transferred or created the zipfile in the\n\
  appropriate BINARY mode and that you have compiled unzip properly)\n";
#endif /* ?VMS */


#ifdef MSWIN
/* MS Windows Setup  and Take-Down functions bracket calls to 
 * process_zipfile().
 * These functions allocate and free the necessary buffers, set and clear
 * any global variables so that  process_zipfile()  can be called multiple
 * times in the same session of WizUnzip. You'll recognize some of the 
 * code from main() in SetUpToProcessZipFile().
 */
HANDLE hOutBuf;
HANDLE hInBuf;
HANDLE hZipFN;
HANDLE hFileName;

BOOL FSetUpToProcessZipFile(int ncflag, int ntflag, int nvflag, int nUflag, 
       int nzflag, int ndflag, int noflag, int naflag, int argc,
       LPSTR lpszZipFN, PSTR *FNV)
{
    /* clear all global flags -- need to or not. */

    tflag = vflag=cflag=aflag=U_flag=quietflg=zflag = 0;
    overwrite_all=overwrite_none=0;
    fnv = &fnames[0];       /* assign default file name vector */

	jflag = !ndflag; /* WizUnZip perspective is "recreate directory structure" */
    cflag = ncflag ; overwrite_all = noflag;
    tflag = ntflag ; vflag = nvflag; zflag = nzflag; U_flag = nUflag;
    aflag = naflag;
    sflag = 1;

    local_hdr_sig[0] = central_hdr_sig[0] = end_central_sig[0] = '\120';
    local_hdr_sig[1] = central_hdr_sig[1] = end_central_sig[1] = '\0';

	cur_zipfile_bufstart = 0L; 
    if (!(hZipFN = LocalAlloc(LMEM_MOVEABLE, FILNAMSIZ)))
        return FALSE;

    zipfn = (char *)LocalLock(hZipFN);
    lstrcpy(zipfn, lpszZipFN);
    if (stat(zipfn, &statbuf) || (statbuf.st_mode & S_IFMT) == S_IFDIR)
        strcat(zipfn, ZSUFX);

    if (stat(zipfn, &statbuf)) {  /* try again */
        fprintf(stderr, "error:  can't find zipfile [ %s ]\n", zipfn);
        return TRUE;              /* 9:  file not found */
    } else
        ziplen = statbuf.st_size;

    if (argc != 0) {
        fnv = FNV;
        process_all_files = FALSE;
    } else
        process_all_files = TRUE;       /* for speed */

/*---------------------------------------------------------------------------
    Okey dokey, we have everything we need to get started.  Let's roll.
  ---------------------------------------------------------------------------*/

    if (hInBuf = LocalAlloc(LMEM_MOVEABLE, INBUFSIZ+4)) {  /* 4 extra: hold[] */
        inbuf = (byte *) LocalLock(hInBuf);
        WinAssert(inbuf);
    }
    if (hOutBuf = LocalAlloc(LMEM_MOVEABLE, OUTBUFSIZ+1)) {  /* extra: ASCIIZ */
        outbuf = (byte *)LocalLock(hOutBuf);
        WinAssert(outbuf);
        outout = outbuf;  /*  point to outbuf */
    }
    if ( hFileName = LocalAlloc(LMEM_MOVEABLE, FILNAMSIZ)) {
        filename = (char *)LocalLock(hFileName);
        WinAssert(filename);
    }

    if ((inbuf == NULL) || (outbuf == NULL) || (outout == NULL) ||
        (zipfn == NULL) || (filename == NULL))
        return FALSE;

    hold = &inbuf[INBUFSIZ];   /* to check for boundary-spanning signatures */

    return TRUE;    /* set up was OK */
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91亚洲男人天堂| 欧美伊人精品成人久久综合97| 免费欧美在线视频| 亚洲成人在线免费| 亚洲国产精品久久久久秋霞影院| 亚洲免费在线播放| 一区二区三区精品在线| 亚洲一卡二卡三卡四卡| 亚洲一区二区视频在线观看| 亚洲一区二区视频在线| 日韩和欧美的一区| 蜜桃av一区二区在线观看| 日韩中文欧美在线| 九色综合狠狠综合久久| 国产精品12区| 91原创在线视频| 欧美性生活影院| 91精品国产高清一区二区三区| 91麻豆精品国产91久久久久| 日韩欧美在线网站| 久久综合网色—综合色88| 中日韩免费视频中文字幕| 国产精品视频yy9299一区| 国产精品久久久久三级| 亚洲在线一区二区三区| 欧美aaaaa成人免费观看视频| 精品一区二区三区久久久| 国产精品伊人色| www.成人网.com| 欧美三级欧美一级| 精品三级av在线| 中文字幕精品三区| 亚洲一区二区三区国产| 麻豆成人久久精品二区三区红| 精品在线播放午夜| jlzzjlzz亚洲日本少妇| 欧美午夜精品理论片a级按摩| 4438x亚洲最大成人网| 久久亚洲综合色一区二区三区| 国产精品久久久久一区| 亚洲超碰97人人做人人爱| 精品一区二区成人精品| av在线播放成人| 欧美一区二区国产| 欧美激情一区二区三区不卡 | 2019国产精品| 一区二区三区四区精品在线视频| 秋霞电影网一区二区| 粉嫩绯色av一区二区在线观看| 欧洲一区二区三区免费视频| 精品国产乱码久久久久久老虎| 亚洲欧洲国产专区| 日韩成人免费看| av在线不卡观看免费观看| 555夜色666亚洲国产免| 国产精品国产三级国产a| 日本vs亚洲vs韩国一区三区 | 色www精品视频在线观看| 日韩三级伦理片妻子的秘密按摩| 中文乱码免费一区二区| 青青草97国产精品免费观看| 972aa.com艺术欧美| 久久综合五月天婷婷伊人| 五月天丁香久久| 97se狠狠狠综合亚洲狠狠| 亚洲精品一区二区三区精华液| 亚洲精品五月天| 国产美女在线精品| 欧美高清一级片在线| 国产精品久久久99| 另类小说欧美激情| 欧美性videosxxxxx| 国产精品免费久久久久| 狠狠色丁香久久婷婷综合_中| 欧美综合欧美视频| 椎名由奈av一区二区三区| 国产一区二区三区在线观看免费视频| 欧美日韩视频专区在线播放| 亚洲色图制服丝袜| 福利电影一区二区| 精品国产乱码久久久久久牛牛| 视频一区二区三区中文字幕| 在线观看视频一区二区欧美日韩| 欧美国产在线观看| 国内精品免费**视频| 日韩欧美www| 日韩av电影天堂| 欧美日韩激情在线| 亚洲电影一级片| 91久久精品网| 亚洲精品免费一二三区| 成人av网站在线观看| 国产欧美精品日韩区二区麻豆天美| 奇米影视一区二区三区小说| 欧美精品久久一区二区三区| 亚洲自拍偷拍网站| 日本黄色一区二区| 亚洲精品国产第一综合99久久| 91社区在线播放| 一区在线中文字幕| 99精品视频一区| 自拍av一区二区三区| av不卡在线播放| 国产精品国产a级| 国产成人免费9x9x人网站视频| 久久久亚洲综合| 国产一级精品在线| 国产欧美一区二区精品秋霞影院| 国产一区在线视频| 国产情人综合久久777777| 国产成都精品91一区二区三| 国产夜色精品一区二区av| 国产精品一区一区三区| 亚洲国产电影在线观看| 99久久久无码国产精品| 中文字幕在线观看不卡| 色综合天天性综合| 亚洲一区二区美女| 91精品国产品国语在线不卡| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲精品在线三区| 大白屁股一区二区视频| 18涩涩午夜精品.www| 欧美在线免费观看亚洲| 日韩国产欧美视频| 久久久精品欧美丰满| 成人不卡免费av| 亚洲自拍都市欧美小说| 欧美一级日韩一级| 国产美女主播视频一区| 综合欧美亚洲日本| 精品视频1区2区3区| 裸体歌舞表演一区二区| 欧美韩国日本不卡| 欧美在线短视频| 麻豆一区二区三区| 国产精品久久久久桃色tv| 精品视频在线免费观看| 国产乱子轮精品视频| 亚洲免费在线观看视频| 日韩一区二区三区av| 国产凹凸在线观看一区二区| 日韩理论在线观看| 日韩三级av在线播放| 97国产精品videossex| 奇米777欧美一区二区| 国产精品理伦片| 欧美丰满少妇xxxxx高潮对白 | 欧美亚洲一区二区在线| 蜜桃av一区二区三区| 国产精品麻豆网站| 欧美日韩成人激情| 成人av高清在线| 日韩精品国产精品| 国产精品久久久久一区二区三区共 | 婷婷久久综合九色综合伊人色| 国产亚洲精品精华液| 欧美三级电影精品| 国产精品一区久久久久| 亚洲福利电影网| 国产精品家庭影院| 欧美一卡二卡三卡| 91福利精品第一导航| 国产在线视视频有精品| 亚洲午夜视频在线| 日本一区二区综合亚洲| 51精品视频一区二区三区| 91视频你懂的| 国产成人午夜精品影院观看视频| 亚洲18色成人| 亚洲桃色在线一区| 久久伊人中文字幕| 欧美精品亚洲一区二区在线播放| 成人看片黄a免费看在线| 久久精品国产久精国产| 夜夜精品视频一区二区 | 亚洲欧美日韩中文播放 | 另类欧美日韩国产在线| 亚洲一区精品在线| 中文字幕一区二区三区在线不卡| 日韩免费看的电影| 91久久精品网| 91污片在线观看| 国产成人免费网站| 麻豆一区二区在线| 天堂一区二区在线| 一区二区在线观看av| 国产精品的网站| 国产人成亚洲第一网站在线播放| 日韩欧美国产午夜精品| 欧美日韩一区二区在线视频| 99re这里都是精品| 福利91精品一区二区三区| 国产在线精品一区二区夜色 | 久色婷婷小香蕉久久| 五月婷婷激情综合| 亚洲第一福利一区| 亚洲一二三区在线观看| 亚洲精品视频观看| 亚洲精品亚洲人成人网|