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

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

?? zipfile.c

?? 匯編大全 中國礦業(yè)大學(xué)計(jì)算機(jī)學(xué)院 匯編實(shí)驗(yàn)5
?? C
?? 第 1 頁 / 共 2 頁
字號:
          return ferror(f) ? ZE_READ : ZE_EOF;      }    }    /* Point to start of header list and read central headers */    z = zfiles;    s = p;                              /* save start of central */    if (fix) {      if (LG(b) != CENSIG && noisy) {        fprintf(mesg, "zip warning: %s %s truncated.\n", zipfile,                fix > 1 ? "has been" : "would be");        if (fix == 1) {          fprintf(mesg,   "Retry with option -qF to truncate, with -FF to attempt full recovery\n");          err(ZE_FORM, NULL);        }      }    } else while (LG(b) == CENSIG)    {      if (z == NULL)      {        warn("extraneous central header signature", "");        return ZE_FORM;      }      /* Read central header */      if (fread(b, CENHEAD, 1, f) != 1)        return ferror(f) ? ZE_READ : ZE_EOF;      /* Compare local header with that part of central header (except         for the reserved bits in the general purpose flags and except         for length of extra fields--authentication can make these         different in central and local headers) */      z->lflg = SH(LOCFLG + (uch far *)z);      /* Save reserved bits */      r = b[CENFLG+1];      ((uch far *)z)[LOCFLG+1] &= 0x1f; /* Zero out reserved bits */      b[CENFLG+1] &= 0x1f;      for (m = 0, u = (char far *)z, n = 0; n < LOCHEAD - 2; n++)        if (u[n] != b[n+2])        {          if (!m && noisy)            warn("local and central headers differ for ", z->zname);          m = 1;          sprintf(errbuf, " offset %d--local = %02x, central = %02x",                  n, (uch)u[n], (uch)b[n+2]);          if (noisy) warn(errbuf, "");          b[n+2] = u[n]; /* fix the zipfile */        }      if (m)        return ZE_FORM;      b[CENFLG+1] = r;                  /* Restore reserved bits */      /* Overwrite local header with translated central header */      z->vem = SH(CENVEM + b);      z->ver = SH(CENVER + b);      z->flg = SH(CENFLG + b);          /* may be different from z->lflg */      z->how = SH(CENHOW + b);      z->tim = LG(CENTIM + b);          /* time and date into one long */      z->crc = LG(CENCRC + b);      z->siz = LG(CENSIZ + b);      z->len = LG(CENLEN + b);      z->nam = SH(CENNAM + b);      z->cext = SH(CENEXT + b);         /* may be different from z->ext */      z->com = SH(CENCOM + b);      z->dsk = SH(CENDSK + b);      z->att = SH(CENATT + b);      z->atx = LG(CENATX + b);      z->dosflag = (z->vem & 0xff00) == 0;      if (z->off != LG(CENOFF + b))      {        warn("local offset in central header incorrect for ", z->zname);        return ZE_FORM;      }      /* Compare name and extra fields and read comment field */      if ((t = malloc(z->nam)) == NULL)        return ZE_MEM;      if (fread(t, z->nam, 1, f) != 1)      {        free((voidp *)t);        return ferror(f) ? ZE_READ : ZE_EOF;      }      if (memcmp(t, z->zname, z->nam))      {        free((voidp *)t);        warn("names in local and central differ for ", z->zname);        return ZE_FORM;      }      free((voidp *)t);      if (z->cext)      {        if ((z->cextra = malloc(z->cext)) == NULL)          return ZE_MEM;        if (fread(z->cextra, z->cext, 1, f) != 1)        {          free((voidp *)(z->cextra));          return ferror(f) ? ZE_READ : ZE_EOF;        }        if (z->ext == z->cext && memcmp(z->extra, z->cextra, z->ext) == 0)        {          free((voidp *)(z->cextra));          z->cextra = z->extra;        }      }      if (z->com)      {        if ((z->comment = malloc(z->com)) == NULL)          return ZE_MEM;        if (fread(z->comment, z->com, 1, f) != 1)        {          free((voidp *)(z->comment));          return ferror(f) ? ZE_READ : ZE_EOF;        }      }      /* Note oddities */      if (verbose)      {        if (z->vem != 10 && z->vem != 11 && z->vem != 20 &&            (n = z->vem >> 8) != 3 && n != 2 && n != 6 && n != 0)        {          sprintf(errbuf, "made by version %d.%d on system type %d: ",            (ush)(z->vem & 0xff) / (ush)10,            (ush)(z->vem & 0xff) % (ush)10, z->vem >> 8);          warn(errbuf, z->zname);        }        if (z->ver != 10 && z->ver != 11 && z->ver != 20)        {          sprintf(errbuf, "needs unzip %d.%d on system type %d: ",            (ush)(z->ver & 0xff) / (ush)10,            (ush)(z->ver & 0xff) % (ush)10, z->ver >> 8);          warn(errbuf, z->zname);        }        if (z->flg != z->lflg)        {          sprintf(errbuf, "local flags = 0x%04x, central = 0x%04x: ",                  z->lflg, z->flg);          warn(errbuf, z->zname);        }        else if (z->flg & ~0xf)        {          sprintf(errbuf, "undefined bits used in flags = 0x%04x: ", z->flg);          warn(errbuf, z->zname);        }        if (z->how > DEFLATE)        {          sprintf(errbuf, "unknown compression method %u: ", z->how);          warn(errbuf, z->zname);        }        if (z->dsk)        {          sprintf(errbuf, "starts on disk %u: ", z->dsk);          warn(errbuf, z->zname);        }        if (z->att & ~1)        {          sprintf(errbuf, "unknown internal attributes = 0x%04x: ", z->att);          warn(errbuf, z->zname);        }        if (((n = z->vem >> 8) != 3) && n != 2 && z->atx & ~0xffL)        {          sprintf(errbuf, "unknown external attributes = 0x%08lx: ", z->atx);          warn(errbuf, z->zname);        }        if (z->ext || z->cext)          if (z->ext == z->cext && z->extra == z->cextra)          {            sprintf(errbuf, "has %d bytes of extra data: ", z->ext);            warn(errbuf, z->zname);          }          else          {            sprintf(errbuf,                    "local extra (%d bytes) != central extra (%d bytes): ",                    z->ext, z->cext);            warn(errbuf, z->zname);          }      }      /* Clear actions */      z->mark = 0;      z->trash = 0;      /* Update file offset */      p += 4 + CENHEAD + z->nam + z->cext + z->com;      /* Advance to next header structure */      z = z->nxt;      /* Read next signature */      if (fread(b, 4, 1, f) != 1)        return ferror(f) ? ZE_READ : ZE_EOF;    }        /* Read end header */    if (!fix) {      if (z != NULL || LG(b) != ENDSIG)      {        warn("missing end signature--probably not a zip file (did you", "");        warn("remember to use binary mode when you transferred it?)", "");        return ZE_FORM;      }      if (fread(b, ENDHEAD, 1, f) != 1)        return ferror(f) ? ZE_READ : ZE_EOF;      if (SH(ENDDSK + b) || SH(ENDBEG + b) ||          SH(ENDSUB + b) != SH(ENDTOT + b))        warn("multiple disk information ignored", "");      if (zcount != SH(ENDSUB + b))      {        warn("count in end of central directory incorrect", "");        return ZE_FORM;      }      if (LG(ENDSIZ + b) != p - s)      {        warn("central directory size is incorrect (made by stzip?)", "");        /* stzip 0.9 gets this wrong, so be tolerant */        /* return ZE_FORM; */      }      if (LG(ENDOFF + b) != s)      {        warn("central directory start is incorrect", "");        return ZE_FORM;      }    }    cenbeg = s;    zcomlen = fix ? 0 : SH(ENDCOM + b);    if (zcomlen)    {      if ((zcomment = malloc(zcomlen)) == NULL)        return ZE_MEM;      if (fread(zcomment, zcomlen, 1, f) != 1)      {        free((voidp *)zcomment);        return ferror(f) ? ZE_READ : ZE_EOF;      }    }    if (zipbeg)    {      sprintf(errbuf, " has a preamble of %ld bytes", zipbeg);      warn(zipfile, errbuf);    }    if (!fix && getc(f) != EOF)      warn("garbage at end of zip file ignored", "");    /* Done with zip file for now */    fclose(f);        /* If one or more files, sort by name */    if (zcount)    {      if ((x = zsort =          (struct zlist far **)malloc(zcount * sizeof(struct zlist far *))) ==          NULL)        return ZE_MEM;      for (z = zfiles; z != NULL; z = z->nxt)        *x++ = z;      qsort((char *)zsort, zcount, sizeof(struct zlist far *), zqcmp);    }  }  return ZE_OK;}int putlocal(z, f)struct zlist far *z;    /* zip entry to write local header for */FILE *f;                /* file to write to *//* Write a local header described by *z to file *f.  Return an error code   in the ZE_ class. */{  PUTLG(LOCSIG, f);  PUTSH(z->ver, f);  PUTSH(z->lflg, f);  PUTSH(z->how, f);  PUTLG(z->tim, f);  PUTLG(z->crc, f);  PUTLG(z->siz, f);  PUTLG(z->len, f);  PUTSH(z->nam, f);  PUTSH(z->ext, f);  if (fwrite(z->zname, 1, z->nam, f) != z->nam ||      (z->ext && fwrite(z->extra, 1, z->ext, f) != z->ext))    return ZE_TEMP;  return ZE_OK;}int putextended(z, f)struct zlist far *z;    /* zip entry to write local header for */FILE *f;                /* file to write to *//* Write an extended local header described by *z to file *f. * Return an error code in the ZE_ class. */{  PUTLG(EXTLOCSIG, f);  PUTLG(z->crc, f);  PUTLG(z->siz, f);  PUTLG(z->len, f);  return ZE_OK;}int putcentral(z, f)struct zlist far *z;    /* zip entry to write central header for */FILE *f;                /* file to write to *//* Write a central header described by *z to file *f.  Return an error code   in the ZE_ class. */{  PUTLG(CENSIG, f);  PUTSH(z->vem, f);  PUTSH(z->ver, f);  PUTSH(z->flg, f);  PUTSH(z->how, f);  PUTLG(z->tim, f);  PUTLG(z->crc, f);  PUTLG(z->siz, f);  PUTLG(z->len, f);  PUTSH(z->nam, f);  PUTSH(z->cext, f);  PUTSH(z->com, f);  PUTSH(z->dsk, f);  PUTSH(z->att, f);  PUTLG(z->atx, f);  PUTLG(z->off, f);  if (fwrite(z->zname, 1, z->nam, f) != z->nam ||      (z->cext && fwrite(z->cextra, 1, z->cext, f) != z->cext) ||      (z->com && fwrite(z->comment, 1, z->com, f) != z->com))    return ZE_TEMP;  return ZE_OK;}int putend(n, s, c, m, z, f)int n;                  /* number of entries in central directory */ulg s;                  /* size of central directory */ulg c;                  /* offset of central directory */extent m;               /* length of zip file comment (0 if none) */char *z;                /* zip file comment if m != 0 */FILE *f;                /* file to write to *//* Write the end of central directory data to file *f.  Return an error code   in the ZE_ class. */{  PUTLG(ENDSIG, f);  PUTSH(0, f);  PUTSH(0, f);  PUTSH(n, f);  PUTSH(n, f);  PUTLG(s, f);  PUTLG(c, f);  PUTSH(m, f);  if (m && fwrite(z, 1, m, f) != m)    return ZE_TEMP;  return ZE_OK;}#ifndef UTILlocal void cutpath(p)char *p;                /* path string *//* Cut the last path component off the name *p in place. * This should work on both internal and external names. */{  char *r;              /* pointer to last path delimiter */#ifdef VMS                      /* change [w.x.y]z to [w.x]y.DIR */  if ((r = strrchr(p, ']')) != NULL)  {    *r = 0;    if ((r = strrchr(p, '.')) != NULL)    {      *r = ']';      strcat(r, ".DIR;1");     /* this assumes a little padding--see PAD */    } else {      *p = 0;    }  } else {    *p = 0;  }#endif /* ?VMS */  if ((r = strrchr(p, '/')) != NULL)    *r = 0;  else    *p = 0;}int trash()/* Delete the compressed files and the directories that contained the deleted   files, if empty.  Return an error code in the ZE_ class.  Failure of   destroy() or deletedir() is ignored. */{  extent i;             /* counter on deleted names */  extent n;             /* number of directories to delete */  struct zlist far **s; /* table of zip entries to handle, sorted */  struct zlist far *z;  /* current zip entry */  /* Delete marked names and count directories */  n = 0;  for (z = zfiles; z != NULL; z = z->nxt)    if (z->mark || z->trash)    {      z->mark = 1;      if (z->zname[z->nam - 1] != '/') { /* don't unlink directory */        if (verbose)          fprintf(mesg, "zip diagnostic: trashing file %s\n", z->name);        destroy(z->name);        /* Try to delete all paths that lead up to marked names. This is         * necessary only without the -D option.         */        if (!dirnames) {          cutpath(z->name);          cutpath(z->zname);          if (z->zname[0] != '\0') {            strcat(z->zname, "/");          }          z->nam = strlen(z->zname);          if (z->nam > 0) n++;        }      } else {        n++;      }    }  /* Construct the list of all marked directories. Some may be duplicated   * if -D was used.   */  if (n)  {    if ((s = (struct zlist far **)malloc(n*sizeof(struct zlist far *))) ==        NULL)      return ZE_MEM;    n = 0;    for (z = zfiles; z != NULL; z = z->nxt) {      if (z->mark && z->nam > 0 && z->zname[z->nam - 1] == '/'          && (n == 0 || strcmp(z->zname, s[n-1]->zname) != 0)) {        s[n++] = z;      }    }    /* Sort the files in reverse order to get subdirectories first.     * To avoid problems with strange naming conventions as in VMS,     * we sort on the internal names, so x/y/z will always be removed     * before x/y. On VMS, x/y/z > x/y but [x.y.z] < [x.y]     */    qsort((char *)s, n, sizeof(struct zlist far *), rqcmp);    for (i = 0; i < n; i++) {      char *p = s[i]->name;      if (*p == '\0') continue;      if (p[strlen(p) - 1] == '/') { /* keep VMS [x.y]z.dir;1 intact */        p[strlen(p) - 1] = '\0';      }      if (i == 0 || strcmp(s[i]->zname, s[i-1]->zname) != 0) {        if (verbose) {          fprintf(mesg, "zip diagnostic: trashing directory %s (if empty)\n",                  s[i]->name);        }        deletedir(s[i]->name);      }    }    free((voidp *)s);  }  return ZE_OK;}#endif /* !UTIL */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费精品视频在线| 国产高清成人在线| 奇米四色…亚洲| 久久精品国产久精国产| 国产98色在线|日韩| 91色九色蝌蚪| 欧美绝品在线观看成人午夜影视| 91麻豆精品国产91久久久久| 国产午夜久久久久| 亚洲伦在线观看| 欧美aaa在线| 91丝袜美女网| 欧美不卡一区二区三区四区| 国产欧美综合色| 亚洲电影一区二区三区| 国产一区二区91| 日本电影欧美片| 2024国产精品| 亚洲国产精品一区二区久久恐怖片 | 日韩精品成人一区二区三区 | 亚洲综合一区二区| 久久97超碰色| 色天天综合久久久久综合片| 3d成人h动漫网站入口| 国产精品午夜在线观看| 日韩av网站在线观看| 成人app网站| 精品捆绑美女sm三区| 亚洲激情在线激情| 丁香啪啪综合成人亚洲小说| 欧美自拍偷拍午夜视频| 国产亚洲欧美中文| 全部av―极品视觉盛宴亚洲| 色成人在线视频| 国产精品日日摸夜夜摸av| 麻豆精品在线视频| 欧美午夜一区二区三区免费大片| 国产日韩欧美一区二区三区综合| 亚洲成人av免费| 色婷婷激情综合| 国产精品二三区| 国产成人综合亚洲91猫咪| 欧美一区二区精美| 日本不卡视频在线| 在线视频国内自拍亚洲视频| 国产欧美一区视频| 一区二区三区蜜桃网| 色综合久久中文字幕| 国产丝袜在线精品| 国产精品影视在线观看| 欧美大尺度电影在线| 婷婷开心激情综合| 欧美日韩aaaaa| 亚洲成av人片在线观看无码| 在线精品亚洲一区二区不卡| 亚洲欧美日韩成人高清在线一区| 麻豆精品国产传媒mv男同| 91精品国产综合久久精品app| 亚洲综合一区二区| 欧美亚洲动漫另类| 国产欧美日韩精品在线| 国产成人在线视频免费播放| 久久久噜噜噜久久中文字幕色伊伊 | 欧美激情综合五月色丁香小说| 精东粉嫩av免费一区二区三区| 精品乱人伦一区二区三区| 激情图区综合网| 久久久久国产精品麻豆| 国精产品一区一区三区mba桃花 | 国产亚洲人成网站| 不卡视频在线看| 亚洲丝袜美腿综合| 欧美日韩国产片| 美日韩黄色大片| 国产欧美日韩综合| 日本精品视频一区二区三区| 一区二区三区不卡视频在线观看| 欧美三级韩国三级日本一级| 日韩电影免费一区| 国产色产综合产在线视频| 亚洲专区一二三| 久久女同性恋中文字幕| 欧美午夜精品久久久| 国产精品一级在线| 免费观看在线综合| 亚洲乱码精品一二三四区日韩在线| 欧美一级黄色片| 色屁屁一区二区| 成人午夜免费电影| 精品无码三级在线观看视频| 婷婷国产v国产偷v亚洲高清| 国产精品久久久久国产精品日日| 欧美变态凌虐bdsm| 欧美乱妇20p| 日本韩国精品在线| 国产电影一区二区三区| 美女一区二区视频| 偷拍一区二区三区四区| 亚洲情趣在线观看| 国产精品久久三| 国产日韩欧美麻豆| 久久久久久久久岛国免费| 日韩亚洲电影在线| 91精品在线观看入口| 欧美视频一区在线| 欧美综合天天夜夜久久| 91麻豆免费看片| 97国产精品videossex| 成人综合在线视频| 国产精华液一区二区三区| 热久久国产精品| 蜜桃91丨九色丨蝌蚪91桃色| 日韩精品91亚洲二区在线观看 | 久久久精品影视| 久久影视一区二区| 久久久久久久av麻豆果冻| 久久久久国产精品麻豆| 久久久久88色偷偷免费| 国产欧美日韩精品在线| 国产精品久久一卡二卡| 中文字幕在线不卡国产视频| 国产精品乱码久久久久久| 久久久激情视频| 国产精品国产三级国产专播品爱网| 久久这里只有精品6| 国产视频一区在线播放| 国产精品久久久久天堂| 亚洲免费av在线| 五月婷婷久久综合| 精品一区二区三区免费毛片爱| 国产一区二区三区四区五区美女| 国产精品一区二区黑丝| 99国产精品久久久久| 在线精品视频免费播放| 欧美福利电影网| 精品国产一区二区精华| 中文字幕免费一区| 亚洲老司机在线| 天天做天天摸天天爽国产一区| 免播放器亚洲一区| 成人av网站免费观看| 色视频成人在线观看免| 欧美一三区三区四区免费在线看 | 日韩精品一区二区三区视频播放 | 1024亚洲合集| 午夜av一区二区三区| 国产一区二区h| 在线一区二区视频| 日韩欧美国产三级| 亚洲日本护士毛茸茸| 日韩和欧美的一区| 国产成人在线视频网站| 欧美在线小视频| 国产亚洲人成网站| 午夜精品123| jizz一区二区| 日韩写真欧美这视频| 亚洲图片欧美激情| 蜜臀a∨国产成人精品| a级高清视频欧美日韩| 91精品国产乱| 一区二区在线观看视频| 国产一区二三区| 欧美日韩色一区| 亚洲国产成人私人影院tom| 天天综合日日夜夜精品| 成人激情视频网站| 日韩精品一区二区三区四区视频| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 9191精品国产综合久久久久久| 国产情人综合久久777777| 日韩av电影免费观看高清完整版 | 欧美专区日韩专区| 国产午夜精品久久| 蜜桃视频在线一区| 欧美三级在线视频| 中文字幕一区av| 国产一区二区电影| 日韩欧美一级在线播放| 亚洲国产成人va在线观看天堂| 成人网男人的天堂| 国产日产欧美精品一区二区三区| 免费高清成人在线| 91精品国产色综合久久不卡蜜臀 | 日本不卡在线视频| 欧美日韩日日夜夜| 亚洲成人av中文| 欧美少妇一区二区| 中文字幕佐山爱一区二区免费| 国产成人综合亚洲网站| 久久亚洲欧美国产精品乐播 | 欧美丰满少妇xxxxx高潮对白| 亚洲欧美日韩系列| 91麻豆精品在线观看| 亚洲少妇屁股交4| 成人av一区二区三区| 一区在线观看视频| 91在线一区二区| 亚洲欧美激情小说另类| 91浏览器入口在线观看|