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

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

?? vmmvs.c

?? zip壓縮
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*  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*//*---------------------------------------------------------------------------  vmmvs.c (for both VM/CMS and MVS)  Contains:  vmmvs_open_infile()             open_outfile()             close_outfile()             close_infile()             getVMMVSexfield()             do_wild()             mapattr()             mapname()             checkdir()             check_for_newer()             stat()             version()  ---------------------------------------------------------------------------*/#define __VMMVS_C       /* identifies this source module */#define UNZIP_INTERNAL#include "unzip.h"/********************************//* Function vmmvs_open_infile() *//********************************/FILE *vmmvs_open_infile(__G)   __GDEF{   FILE *fzip;   G.tempfn = NULL;   fzip = fopen(G.zipfn, FOPR);#if 0   /* Let's try it without the convert for a while -- RG Hartwig */   if ((fzip = fopen(G.zipfn,"rb,recfm=fb")) == NULL) {      size_t cnt;      char *buf;      FILE *in, *out;      if ((buf = (char *)malloc(32768)) == NULL) return NULL;      if ((G.tempfn = tmpnam(NULL)) == NULL) return NULL;      if ((in = fopen(G.zipfn,"rb")) != NULL &&          (out = fopen(G.tempfn,"wb,recfm=fb,lrecl=1")) != NULL) {         Trace((stdout,"Converting ZIP file to fixed record format...\n"));         while (!feof(in)) {            cnt = fread(buf,1,32768,in);            if (cnt) fwrite(buf,1,cnt,out);         }      }      else {         free(buf);         fclose(out);         fclose(in);         return NULL;      }      free(buf);      fclose(out);      fclose(in);      fzip = fopen(G.tempfn,"rb,recfm=fb");      if (fzip == NULL) return NULL;      /* Update the G.ziplen value since it might have changed after         the reformatting copy. */      fseek(fzip,0L,SEEK_SET);      fseek(fzip,0L,SEEK_END);      G.ziplen = ftell(fzip);   }#endif   return fzip;}/***************************//* Function open_outfile() *//***************************/int open_outfile(__G)           /* return 1 if fail */    __GDEF{    char type[100];    char *mode = NULL;#ifdef MVS    /* Check if the output file already exists and do not overwrite its DCB */    char basefilename[PATH_MAX], *p;    FILE *exists;    /* Get the base file name, without any member name */    strcpy(basefilename, G.filename);    if ((p = strchr(basefilename, '(')) != NULL) {       if (basefilename[0] == '\'')          *p++ = '\'';       *p = '\0';    }    exists = fopen(basefilename, FOPR);    if (exists) {       if (G.pInfo->textmode)           mode = FOPWTE;       /* Text file, existing */       else           mode = FOPWE;        /* Binary file, existing */       fclose(exists);    }    else   /* continued on next line */#endif /* MVS */    if (G.pInfo->textmode) {        if (mode == NULL)           mode = FOPWT;    } else if (G.lrec.extra_field_length > 0 && G.extra_field != NULL) {        unsigned lef_len = (unsigned)(G.lrec.extra_field_length);        uch *lef_buf = G.extra_field;        while (lef_len > EB_HEADSIZE) {            unsigned eb_id = makeword(&lef_buf[EB_ID]);            unsigned eb_dlen = makeword(&lef_buf[EB_LEN]);            if (eb_dlen > (lef_len - EB_HEADSIZE)) {                /* Discovered some extra field inconsistency! */                TTrace((stderr,                        "open_outfile: block length %u > rest lef_size %u\n",                        eb_dlen, lef_len - EB_HEADSIZE));                break;            }            if ((eb_id == EF_VMCMS || eb_id == EF_MVS) &&                (getVMMVSexfield(type, lef_buf, eb_dlen) > 0)) {                mode = type;                break;            }            /* Skip this extra field block */            lef_buf += (eb_dlen + EB_HEADSIZE);            lef_len -= (eb_dlen + EB_HEADSIZE);        }    }    if (mode == NULL) mode = FOPW;    Trace((stderr, "Output file='%s' opening with '%s'\n", G.filename, mode));    if ((G.outfile = fopen(G.filename, mode)) == NULL) {        Info(slide, 0x401, ((char *)slide, "\nerror:  cannot create %s\n",             FnFilter1(G.filename)));        Trace((stderr, "error %d: '%s'\n", errno, strerror(errno)));        return 1;    }    return 0;} /* end function open_outfile() *//****************************//* Function close_outfile() *//****************************/void close_outfile(__G)   __GDEF{   fclose(G.outfile);} /* end function close_outfile() *//***************************//* Function close_infile() *//***************************/void close_infile(__G)   __GDEF{   fclose(G.zipfd);   /* If we're working from a temp file, erase it now */   if (G.tempfn)      remove(G.tempfn);} /* end function close_infile() *//******************************//* Function getVMMVSexfield() *//******************************/extent getVMMVSexfield(type, ef_block, datalen)    char *type;    uch *ef_block;    unsigned datalen;{    fldata_t *fdata = (fldata_t *) &ef_block[4];    if (datalen < sizeof(fldata_t))        return 0;    strcpy(type, "w");    strcat(type,  fdata->__openmode == __TEXT   ? ""                 :fdata->__openmode == __BINARY ? "b"                 :fdata->__openmode == __RECORD ? "b,type=record"                 :                                "");    strcat(type, ",recfm=");    strcat(type,  fdata->__recfmF? "F"                 :fdata->__recfmV? "V"                 :fdata->__recfmU? "U"                 :                 "?");    if (fdata->__recfmBlk) strcat(type, "B");    if (fdata->__recfmS)   strcat(type, "S");    if (fdata->__recfmASA) strcat(type, "A");    if (fdata->__recfmM)   strcat(type, "M");    sprintf(type+strlen(type), ",lrecl=%ld", fdata->__recfmV                                              ? fdata->__maxreclen+4                                              : fdata->__maxreclen);#ifdef VM_CMS    /* For CMS, use blocksize for FB files only */    if (fdata->__recfmBlk)       sprintf(type+strlen(type), ",blksize=%ld", fdata->__blksize);#else    /* For MVS, always use blocksize */    sprintf(type+strlen(type), ",blksize=%ld", fdata->__blksize);#endif    return strlen(type);} /* end function getVMMVSexfield() */#ifndef SFX/**********************//* Function do_wild() */   /* for porting:  dir separator; match(ignore_case) *//**********************/char *do_wild(__G__ wld)    __GDEF    ZCONST char *wld;      /* only used first time on a given dir */{    static int First = 0;    static char filename[256];    if (First == 0) {       First = 1;       strcpy( filename, wld );       return filename;    }    else       return (char *)NULL;} /* end function do_wild() */#endif /* !SFX *//************************//*  Function mapattr()  *//************************/int mapattr(__G)     __GDEF{    return 0;}/************************//*  Function mapname()  *//************************/int mapname(__G__ renamed)    __GDEF    int renamed;/* * returns: *  MPN_OK          - no problem detected *  MPN_INF_TRUNC   - caution (truncated filename) *  MPN_INF_SKIP    - info "skip entry" (dir doesn't exist) *  MPN_ERR_SKIP    - error -> skip entry *  MPN_ERR_TOOLONG - error -> path is too long *  MPN_NOMEM       - error (memory allocation failed) -> skip entry *  [also MPN_VOL_LABEL, MPN_CREATED_DIR] */{    char newname[FILNAMSIZ], *lbar;#ifdef MVS    char *pmember;#endif    int name_changed = MPN_OK;    if (G.pInfo->vollabel)        return MPN_VOL_LABEL;   /* can't set disk volume labels in CMS_MVS */#ifdef MVS    /* Remove bad characters for MVS from the filename */    while ((lbar = strpbrk(G.filename, "_+-")) != NULL) {       /* Must use memmove() here because data overlaps.  */       /* strcpy() gives undefined behavior in this case. */       memmove(lbar, lbar+1, strlen(lbar));       name_changed = MPN_INF_TRUNC;    }#endif    /* Remove bad characters for MVS/CMS from the filename */    while ((lbar = strpbrk(G.filename, "()")) != NULL) {       memmove(lbar, lbar+1, strlen(lbar));       name_changed = MPN_INF_TRUNC;    }#ifdef VM_CMS    if ((lbar = strrchr(G.filename, '/')) != NULL) {        strcpy(newname, lbar+1);        Trace((stderr, "File '%s' renamed to '%s'\n", G.filename, newname));        strcpy(G.filename, newname);        name_changed = MPN_INF_TRUNC;    }#else /* MVS */    if ((pmember = strrchr(G.filename, '/')) == NULL)        pmember = G.filename;    else        pmember++;    /* search for extension in file name */    if ((lbar = strrchr(pmember, '.')) != NULL) {        *lbar++ = '\0';        strcpy(newname, pmember);        strcpy(pmember, lbar);        strcat(pmember, "(");        strcat(pmember, newname);        strcat(pmember, ")");    }    /* Remove all 'internal' dots '.', to prevent false consideration as     * MVS path delimiters! */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美在线综合网| 不卡一区中文字幕| 奇米色一区二区| 奇米影视在线99精品| 日本三级韩国三级欧美三级| 亚洲黄色小说网站| 亚洲综合丁香婷婷六月香| 亚洲无人区一区| 美女在线一区二区| 国产不卡一区视频| 97久久超碰国产精品| 欧美色精品在线视频| 欧美电影在线免费观看| 久久精品欧美一区二区三区不卡 | 色综合天天综合色综合av | 天天影视网天天综合色在线播放| 精品国产sm最大网站免费看| 精品免费国产一区二区三区四区| www日韩大片| 欧美日韩国产乱码电影| 成人精品免费网站| 91在线精品一区二区| 91一区二区在线| 欧美日韩一区三区四区| 3d动漫精品啪啪一区二区竹菊| 欧美一区二区视频在线观看| 亚洲精品在线网站| 国产精品电影一区二区| 亚洲国产一区视频| 国模一区二区三区白浆| 成人av在线电影| 欧美午夜精品久久久久久超碰| 欧美日本国产视频| 国产午夜亚洲精品羞羞网站| 久久精品一区四区| 日本美女视频一区二区| 国产馆精品极品| 欧美精品第一页| 中文字幕一区在线| 国产精品影视天天线| 欧美三级资源在线| 亚洲欧美日韩中文播放| 伦理电影国产精品| 欧美日韩另类国产亚洲欧美一级| 久久九九国产精品| 国产在线国偷精品免费看| 99精品国产91久久久久久| 久久蜜桃香蕉精品一区二区三区| 婷婷成人激情在线网| 91成人网在线| 欧美激情一二三区| 国产资源精品在线观看| 精品入口麻豆88视频| 水蜜桃久久夜色精品一区的特点| 成人国产精品免费网站| 成人高清伦理免费影院在线观看| 成人污视频在线观看| 久久久美女艺术照精彩视频福利播放| 亚洲制服欧美中文字幕中文字幕| 成人动漫中文字幕| 一区免费观看视频| 日本韩国精品一区二区在线观看| 亚洲一区二区在线免费观看视频| 91国内精品野花午夜精品| 一区二区三区欧美日| 日韩午夜小视频| 美美哒免费高清在线观看视频一区二区 | 精品日产卡一卡二卡麻豆| 日韩成人dvd| 国产午夜精品理论片a级大结局| 国产电影精品久久禁18| 中国色在线观看另类| 欧美三级乱人伦电影| 国内精品视频666| 精品久久久久久久一区二区蜜臀| 懂色av噜噜一区二区三区av| 亚洲免费伊人电影| 久久综合资源网| 在线观看一区二区视频| 视频一区视频二区在线观看| 中文欧美字幕免费| 欧美蜜桃一区二区三区| hitomi一区二区三区精品| 午夜激情一区二区| 一二三四区精品视频| 精品不卡在线视频| 在线综合亚洲欧美在线视频| 99久久夜色精品国产网站| 国产一区二区三区蝌蚪| 日韩国产欧美视频| 亚洲小说春色综合另类电影| 依依成人综合视频| 在线亚洲精品福利网址导航| 一区二区高清在线| 一色桃子久久精品亚洲| 欧美国产一区二区在线观看| 日韩一区二区三区三四区视频在线观看| 成人av网站免费| 成人av资源下载| 成人性生交大片免费看视频在线| 奇米影视一区二区三区| 玉米视频成人免费看| 国产精品网站在线| 欧美激情一区二区三区不卡 | 欧美一区二区成人| 欧美一区二区三区视频免费播放 | 色噜噜狠狠成人网p站| 99精品国产99久久久久久白柏| 97久久超碰国产精品电影| 韩国理伦片一区二区三区在线播放| 日日夜夜免费精品视频| 亚洲成人免费av| 奇米在线7777在线精品| 国产乱一区二区| 日本韩国欧美一区二区三区| 欧美肥胖老妇做爰| 久久精品一区八戒影视| 久久久99精品久久| 亚洲欧美日韩一区二区| 午夜精品久久久久| 韩国av一区二区| 日本精品视频一区二区| 欧美一区二区日韩| 中文字幕一区二区三区在线播放 | 亚洲欧美日韩成人高清在线一区| 亚洲国产乱码最新视频| 一区二区久久久久| 91极品视觉盛宴| 欧美一区二区三区播放老司机| 91精品国产综合久久久蜜臀粉嫩| 国产亚洲欧美在线| 免费在线观看日韩欧美| 日本韩国欧美一区| 久久亚洲春色中文字幕久久久| 洋洋成人永久网站入口| 波多野结衣一区二区三区 | 欧美手机在线视频| 婷婷久久综合九色国产成人| 91麻豆精品国产自产在线观看一区 | 久久―日本道色综合久久| 国产一区二区三区视频在线播放| 26uuu久久天堂性欧美| 成人av在线网| 一区二区三区在线免费播放| 欧美在线免费视屏| 免费看精品久久片| 中文一区在线播放| 在线视频你懂得一区| 美女一区二区久久| 欧美激情一区在线观看| 日本久久精品电影| 国产主播一区二区| 亚洲一区在线观看视频| 日韩一区二区三区四区五区六区| 国产一本一道久久香蕉| 一区二区三区中文字幕电影| 欧美一区二区精品在线| 色哟哟欧美精品| 国产一区二区三区高清播放| 亚洲美女电影在线| 精品国产91亚洲一区二区三区婷婷| 国产精品自产自拍| 亚洲不卡在线观看| 亚洲区小说区图片区qvod| 精品国产sm最大网站免费看| 欧亚洲嫩模精品一区三区| 成人一级片网址| 美女视频黄频大全不卡视频在线播放| 在线观看成人免费视频| 国产成都精品91一区二区三| 蜜臀久久99精品久久久画质超高清| 亚洲免费观看高清| 亚洲精品写真福利| 国产欧美一区二区精品性色| 日韩欧美一级特黄在线播放| 91精品福利在线一区二区三区| 精品视频在线免费观看| 精品视频在线免费看| 欧美色区777第一页| 51精品国自产在线| 欧美一级日韩免费不卡| 日韩天堂在线观看| 久久久久久久久久久电影| 久久久久久久久久久黄色| 中文字幕欧美三区| 亚洲欧洲国产日本综合| 亚洲视频在线观看三级| 亚洲精品成人少妇| 蜜臀久久久久久久| 国产一区二区中文字幕| 成人免费视频免费观看| 日本韩国欧美三级| 日韩女优av电影在线观看| 久久久91精品国产一区二区三区| 中文字幕一区免费在线观看| 午夜精品成人在线视频| 国产99精品在线观看| 欧美日韩视频在线第一区| 久久免费国产精品| 亚洲图片欧美综合|