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

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

?? zip.c

?? 匯編大全 中國礦業大學計算機學院 匯編實驗5
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* Copyright (C) 1990-1993 Mark Adler, Richard B. Wales, Jean-loup Gailly, Kai Uwe Rommel and Igor Mandrichenko. Permission is granted to any individual or institution to use, copy, or redistribute this software so long as all of the original files are included, that it is not sold for profit, and that this copyright notice is retained.*//* *  zip.c by Mark Adler. */#include "revision.h"#include "zip.h"#include "crypt.h"#ifdef VMS#  include "VMSmunch.h"#endif#if (defined(MSDOS) && !defined(__GO32__)) || defined(__human68k__)#  include <process.h>#endif#include <signal.h>#ifdef MACOS#  include <console.h>#endif#define MAXCOM 256      /* Maximum one-line comment size *//* Local option flags */#define DELETE  0#define ADD     1#define UPDATE  2#define FRESHEN 3local int action = ADD; /* one of ADD, UPDATE, FRESHEN, or DELETE */local int comadd = 0;   /* 1=add comments for new files */local int zipedit = 0;  /* 1=edit zip comment and all file comments */local int latest = 0;   /* 1=set zip file time to time of latest file */local ulg before = 0;   /* 0=ignore, else exclude files before this time */local int test = 0;     /* 1=test zip file with unzip -t */local int tempdir = 0;  /* 1=use temp directory (-b) *//* Temporary zip file name and file pointer */local char *tempzip;local FILE *tempzf;/* Local functions */local void freeup  OF((void));local void leave   OF((int));local void handler OF((int));local void license OF((void));local void help    OF((void));local void zipstdout OF((void));local void check_zipfile OF((char *zipname));local void get_filters OF((int argc, char **argv));      int  main     OF((int, char **));local int count_args OF((char *s));local void envargs   OF((int *Pargc, char ***Pargv, char *envstr));local void freeup()/* Free all allocations in the found list and the zfiles list */{  struct flist far *f;  /* steps through found list */  struct zlist far *z;  /* pointer to next entry in zfiles list */  for (f = found; f != NULL; f = fexpel(f))    ;  while (zfiles != NULL)  {    z = zfiles->nxt;    free((voidp *)(zfiles->name));    if (zfiles->zname != zfiles->name)      free((voidp *)(zfiles->zname));    if (zfiles->ext)      free((voidp *)(zfiles->extra));    if (zfiles->cext && zfiles->cextra != zfiles->extra)      free((voidp *)(zfiles->cextra));    if (zfiles->com)      free((voidp *)(zfiles->comment));    farfree((voidp far *)zfiles);    zfiles = z;    zcount--;  }}local void leave(e)int e;                  /* exit code *//* Process -o and -m options (if specified), free up malloc'ed stuff, and   exit with the code e. */{  int r;                /* return value from trash() */  ulg t;                /* latest time in zip file */  struct zlist far *z;  /* pointer into zfile list */  /* If latest, set time to zip file to latest file in zip file */  if (latest && zipfile && strcmp(zipfile, "-"))  {    diag("changing time of zip file to time of latest file in it");    /* find latest time in zip file */    if (zfiles == NULL)       warn("zip file is empty, can't make it as old as latest entry", "");    else {      t = 0;      for (z = zfiles; z != NULL; z = z->nxt)        /* Ignore directories in time comparisons */        if (t < z->tim && z->zname[z->nam-1] != '/')          t = z->tim;      /* set modified time of zip file to that time */      if (t != 0)        stamp(zipfile, t);      else        warn(         "zip file has only directories, can't make it as old as latest entry",         "");    }  }  if (tempath != NULL)  {    free((voidp *)tempath);    tempath = NULL;  }  if (zipfile != NULL)  {    free((voidp *)zipfile);    zipfile = NULL;  }  /* If dispose, delete all files in the zfiles list that are marked */  if (dispose)  {    diag("deleting files that were added to zip file");    if ((r = trash()) != ZE_OK)      err(r, "was deleting moved files and directories");  }  /* Done! */  freeup();#ifdef VMS  exit(0);#else /* !VMS */  exit(e);#endif /* ?VMS */}void err(c, h)int c;                  /* error code from the ZE_ class */char *h;                /* message about how it happened *//* Issue a message for the error, clean up files and memory, and exit. */{  static int error_level;  if (error_level++ > 0) exit(0);  /* avoid recursive err() */  if (h != NULL) {    if (PERR(c))      perror("zip error");    fflush(mesg);    fprintf(stderr, "\nzip error: %s (%s)\n", errors[c-1], h);  }  if (tempzip != NULL)  {    if (tempzip != zipfile) {      if (tempzf != NULL)        fclose(tempzf);#ifndef DEBUG      destroy(tempzip);#endif      free((voidp *)tempzip);    } else {      /* -g option, attempt to restore the old file */      int k = 0;                        /* keep count for end header */      ulg cb = cenbeg;                  /* get start of central */      struct zlist far *z;  /* steps through zfiles linked list */      fprintf(stderr, "attempting to restore %s to its previous state\n",         zipfile);      fseek(tempzf, cenbeg, SEEK_SET);      tempzn = cenbeg;      for (z = zfiles; z != NULL; z = z->nxt)      {        putcentral(z, tempzf);        tempzn += 4 + CENHEAD + z->nam + z->cext + z->com;        k++;      }      putend(k, tempzn - cb, cb, zcomlen, zcomment, tempzf);      tempzf = NULL;      fclose(tempzf);    }  }  if (key != NULL)    free((voidp *)key);  if (tempath != NULL)    free((voidp *)tempath);  if (zipfile != NULL)    free((voidp *)zipfile);  freeup();#ifdef VMS  c = 0;#endif  exit(c);}void error(h)  char *h;/* Internal error, should never happen */{  err(ZE_LOGIC, h);}local void handler(s)int s;                  /* signal number (ignored) *//* Upon getting a user interrupt, turn echo back on for tty and abort   cleanly using err(). */{#if !defined(MSDOS) && !defined(__human68k__)  echon();  putc('\n', stderr);#endif /* !MSDOS */  err(ZE_ABORT, "aborting");  s++;                                  /* keep some compilers happy */}void warn(a, b)char *a, *b;            /* message strings juxtaposed in output *//* Print a warning message to stderr and return. */{  if (noisy) fprintf(stderr, "zip warning: %s%s\n", a, b);}local void license()/* Print license information to stdout. */{  extent i;             /* counter for copyright array */  for (i = 0; i < sizeof(copyright)/sizeof(char *); i++) {    printf(copyright[i], "zip");    putchar('\n');  }  for (i = 0; i < sizeof(disclaimer)/sizeof(char *); i++)    puts(disclaimer[i]);}local void help()/* Print help (along with license info) to stdout. */{  extent i;             /* counter for help array */  /* help array */  static char *text[] = {"","Zip %s (%s). Usage:","zip [-options] [-b path] [-t mmddyy] [-n suffixes] [zipfile list] [-xi list]","  The default action is to add or replace zipfile entries from list, which","  can include the special name - to compress standard input.","  If zipfile and list are omitted, zip compresses stdin to stdout.","  -f   freshen: only changed files  -u   update: only changed or new files","  -d   delete entries in zipfile    -m   move into zipfile (delete files)","  -k   simulate PKZIP made zipfile  -g   allow growing existing zipfile","  -r   recurse into directories     -j   junk (don't record) directory names","  -0   store only                   -l   convert LF to CR LF (-ll CR LF to LF)","  -1   compress faster              -9   compress better","  -q   quiet operation              -v   verbose operation","  -c   add one-line comments        -z   add zipfile comment","  -b   use \"path\" for temp file     -t   only do files after \"mmddyy\"","  -@   read names from stdin        -o   make zipfile as old as latest entry","  -x   exclude the following names  -i   include only the following names",#ifdef VMS" \"-F\"  fix zipfile(-FF try harder) \"-D\"  do not add directory entries"," \"-T\"  test zipfile integrity      \"-L\"  show software license","  -w   append the VMS version number to the name stored in the zip file"," \"-V\"  save VMS file attributes",#else"  -F   fix zipfile (-FF try harder) -D   do not add directory entries","  -T   test zipfile integrity       -L   show software license",#endif /* VMS */#ifdef OS2"  -E   use the .LONGNAME Extended attribute (if found) as filename",#endif /* OS2 */#ifdef S_IFLNK"  -y   store symbolic links as the link instead of the referenced file",#endif /* !S_IFLNK */#if defined(MSDOS) || defined(OS2)"  -$   include volume label         -S   include system and hidden files",#endif#ifdef CRYPT"  -e   encrypt  (-ee verify key)    -n   don't compress these suffixes"#else"  -h   show this help               -n   don't compress these suffixes"#endif  };  for (i = 0; i < sizeof(copyright)/sizeof(char *); i++)  {    printf(copyright[i], "zip");    putchar('\n');  }  for (i = 0; i < sizeof(text)/sizeof(char *); i++)  {    printf(text[i], VERSION, REVDATE);    putchar('\n');  }}/* Do command line expansion for MSDOS, VMS, ATARI, and AMIGA but not OS/2 */#if defined(MSVMS) || defined(AMIGA)#  define PROCNAME(n) (action==ADD||action==UPDATE?wild(n):procname(n))#else /* !MSVMS */#  define PROCNAME(n) procname(n)#endif /* ?MSVMS */local void zipstdout()/* setup for writing zip file on stdout */{  int r;  mesg = stderr;  if (isatty(1))    err(ZE_PARMS, "cannot write zip file to terminal");  if ((zipfile = malloc(4)) == NULL)    err(ZE_MEM, "was processing arguments");  strcpy(zipfile, "-");  if ((r = readzipfile()) != ZE_OK)    err(r, zipfile);}local void check_zipfile(zipname)  char *zipname;  /* Invoke unzip -t on the given zip file */{#if (defined(MSDOS) && !defined(__GO32__)) || defined(__human68k__)   if (spawnlp(P_WAIT, "unzip", "unzip", verbose ? "-t" : "-tqq",               zipname, NULL)) {#else   char cmd[128];   strcpy(cmd, "unzip -t ");   if (!verbose) strcat(cmd, "-qq ");   strcat(cmd, zipname);# ifdef VMS   if (!system(cmd)) {# else   if (system(cmd)) {# endif#endif     fprintf(mesg, "test of %s FAILED\n", zipfile);     err(ZE_TEST, "original files unmodified");   }   if (noisy)     fprintf(mesg, "test of %s OK\n", zipfile);}local void get_filters(argc, argv)  int argc;               /* number of tokens in command line */  char **argv;            /* command line tokens *//* Counts number of -i or -x patterns, sets patterns and pcount */{  int i;  int flag = 0;  pcount = 0;  for (i = 1; i < argc; i++) {    if (argv[i][0] == '-') {      if (strrchr(argv[i], 'i') != NULL) {        flag = 'i';      } else if (strrchr(argv[i], 'x') != NULL) {        flag = 'x';      } else {        flag = 0;      }    } else if (flag) {      if (patterns != NULL) {        patterns[pcount].zname = ex2in(argv[i], 0, (int *)NULL);        patterns[pcount].select = flag;        if (flag == 'i') icount++;      }      pcount++;    }  }  if (pcount == 0 || patterns != NULL) return;  patterns = (struct plist*) malloc(pcount * sizeof(struct plist));  if (patterns == NULL)    err(ZE_MEM, "was creating pattern list");  get_filters(argc, argv);}int main(argc, argv)int argc;               /* number of tokens in command line */char **argv;            /* command line tokens *//* Add, update, freshen, or delete zip entries in a zip file.  See the   command help in help() above. */{  int a;                /* attributes of zip file */  ulg c;                /* start of central directory */  int d;                /* true if just adding to a zip file */  char *e;              /* malloc'd comment buffer */  struct flist far *f;  /* steps through found linked list */  int i;                /* arg counter, root directory flag */  int k;                /* next argument type, marked counter,                           comment size, entry count */  ulg n;                /* total of entry len's */  int o;                /* true if there were any ZE_OPEN errors */  char *p;              /* steps through option arguments */  char *pp;             /* temporary pointer */  int r;                /* temporary variable */  int s;                /* flag to read names from stdin */  ulg t;                /* file time, length of central directory */  struct zlist far *v;  /* temporary variable */  struct zlist far * far *w;    /* pointer to last link in zfiles list */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美中文一区| 波多野结衣中文字幕一区二区三区| 99久久99久久免费精品蜜臀| 国产精品免费视频网站| av在线不卡观看免费观看| 亚洲视频中文字幕| 欧美专区在线观看一区| 爽爽淫人综合网网站| 欧美电影免费观看完整版| 韩国理伦片一区二区三区在线播放| 久久久综合精品| 91免费在线播放| 日韩av电影天堂| 久久综合久久综合久久| 成人激情小说网站| 亚洲v日本v欧美v久久精品| 日韩久久免费av| 成人sese在线| 婷婷久久综合九色综合伊人色| 精品日产卡一卡二卡麻豆| 成人黄色av电影| 婷婷久久综合九色综合绿巨人| 久久婷婷色综合| 91激情在线视频| 激情久久五月天| 亚洲男帅同性gay1069| 欧美成人aa大片| 91美女视频网站| 国产一区二三区| 亚洲综合一区二区精品导航| 久久综合久久综合久久综合| 色视频成人在线观看免| 在线亚洲人成电影网站色www| 国产精品网友自拍| 欧美日韩中字一区| 国产福利一区二区三区在线视频| 亚洲日本韩国一区| 欧美精品一区二区三区视频| 一本久道中文字幕精品亚洲嫩| 久久成人久久鬼色| 亚洲一区二区精品3399| 国产欧美视频在线观看| 日韩一区二区中文字幕| 色综合一个色综合亚洲| 国产综合色在线| 日韩在线播放一区二区| 中文字幕一区二区不卡| 久久青草国产手机看片福利盒子 | 国产日韩欧美激情| 欧美精品v日韩精品v韩国精品v| 成人午夜在线视频| 在线观看91av| 久久99精品久久久久婷婷| 一区二区视频在线看| 国产色91在线| 精品国产精品网麻豆系列| 欧美日韩电影在线播放| 一本久久a久久精品亚洲| 成人国产免费视频| 国产一区二区三区美女| 美女一区二区三区在线观看| 亚洲国产一区二区a毛片| 综合久久久久综合| 国产精品欧美经典| 国产偷国产偷亚洲高清人白洁 | 欧美电影免费观看完整版| 欧美色图一区二区三区| 91色视频在线| 色嗨嗨av一区二区三区| 91看片淫黄大片一级| 成人av手机在线观看| 丁香激情综合国产| 风流少妇一区二区| 成人看片黄a免费看在线| 国产乱码精品一区二区三区五月婷| 奇米四色…亚洲| 美女www一区二区| 蜜桃一区二区三区在线观看| 久久国产夜色精品鲁鲁99| 奇米色777欧美一区二区| 日本女人一区二区三区| 蜜臀精品久久久久久蜜臀 | 国产在线精品免费| 国产一区二区三区蝌蚪| 国产福利精品导航| 国产成人在线观看免费网站| 风流少妇一区二区| 99久久久国产精品免费蜜臀| 色妞www精品视频| 欧美色窝79yyyycom| 欧美一区二区视频网站| 精品成a人在线观看| 国产农村妇女毛片精品久久麻豆 | 日韩一区二区电影在线| 精品国产乱码久久久久久影片| 91精品国产手机| 精品国产百合女同互慰| 国产拍欧美日韩视频二区| 亚洲三级久久久| 视频一区视频二区在线观看| 国内成人精品2018免费看| 国产精品一区在线观看乱码| 99精品国产91久久久久久| 欧美日韩一区二区电影| 欧美电影免费观看高清完整版在线| 一区二区三区成人| 婷婷久久综合九色国产成人| 精品写真视频在线观看| 岛国一区二区在线观看| 欧美亚洲免费在线一区| xnxx国产精品| 一区二区三区精品视频| 精品写真视频在线观看| 91在线观看下载| 欧美一区二区不卡视频| 欧美高清一级片在线观看| 亚洲国产精品麻豆| 国产精品亚洲综合一区在线观看| 在线免费观看日本欧美| 日韩精品一区二区三区视频播放| 日韩一区中文字幕| 精品一区二区三区久久久| 91香蕉视频mp4| 久久理论电影网| 午夜电影久久久| 成人ar影院免费观看视频| 日韩视频免费观看高清完整版在线观看| 国产喷白浆一区二区三区| 五月婷婷激情综合| 99在线视频精品| 欧美videos中文字幕| 亚洲一区二区三区四区中文字幕| 国产精品一二三区| 91精品国产综合久久福利软件| 国产精品白丝在线| 国产在线播放一区| 91精品国产麻豆| 亚洲黄一区二区三区| 顶级嫩模精品视频在线看| 91精品国产91久久久久久最新毛片| 国产精品国产三级国产有无不卡 | 欧美精品一二三四| 自拍偷拍亚洲激情| 国产成人免费在线视频| 91精品国产一区二区| 一区二区三区在线免费播放| 高潮精品一区videoshd| 欧美电影精品一区二区| 亚洲国产成人tv| 一本色道a无线码一区v| 国产精品女主播av| 福利一区在线观看| 久久精品人人做人人爽人人| 蜜桃av一区二区| 91精品国产综合久久香蕉麻豆| 一级做a爱片久久| 91小视频在线观看| 最新国产成人在线观看| 成人av在线看| 日本一区二区成人| 丁香一区二区三区| 国产精品网站在线观看| 国产一区二区福利视频| 亚洲精品在线网站| 狠狠色丁香久久婷婷综合丁香| 日韩一区二区在线看| 青青草视频一区| 91精品国产日韩91久久久久久| 亚洲高清免费视频| 91麻豆精品国产| 卡一卡二国产精品| 精品欧美久久久| 国产乱淫av一区二区三区 | 国产精品视频在线看| 成人黄色777网| 亚洲欧美一区二区三区久本道91| 97精品久久久久中文字幕| 综合在线观看色| 色综合久久久久综合99| 亚洲综合久久久| 5858s免费视频成人| 久久精品国产一区二区| 久久新电视剧免费观看| 成人精品视频网站| 亚洲免费观看高清完整版在线观看 | 日本福利一区二区| 无码av中文一区二区三区桃花岛| 欧美猛男gaygay网站| 日本成人在线看| 欧美电影免费观看高清完整版在| 国产毛片精品视频| 日韩一区中文字幕| 欧美久久久久免费| 精彩视频一区二区| 国产精品另类一区| 欧美日韩五月天| 精品制服美女久久| 亚洲欧洲日韩在线| 欧美精品777| 国产精品99久久久久久久女警|