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

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

?? acorn.c

?? zip壓縮
?? C
?? 第 1 頁 / 共 3 頁
字號:
/*---------------------------------------------------------------------------    INIT:  allocate and initialize buffer space for the file currently being    extracted.  If file was renamed with an absolute path, don't prepend the    extract-to path.  ---------------------------------------------------------------------------*//* GRR:  for VMS and TOPS-20, add up to 13 to strlen */    if (FUNCTION == INIT) {        Trace((stderr, "initializing buildpath to "));        if ((buildpath = (char *)malloc(strlen(G.filename)+rootlen+1))            == (char *)NULL)            return MPN_NOMEM;        if ((rootlen > 0) && !renamed_fullpath) {            strcpy(buildpath, rootpath);            end = buildpath + rootlen;        } else {            *buildpath = '\0';            end = buildpath;        }        Trace((stderr, "[%s]\n", FnFilter1(buildpath)));        return MPN_OK;    }/*---------------------------------------------------------------------------    ROOT:  if appropriate, store the path in rootpath and create it if    necessary; else assume it's a zipfile member and return.  This path    segment gets used in extracting all members from every zipfile specified    on the command line.  ---------------------------------------------------------------------------*/#if (!defined(SFX) || defined(SFX_EXDIR))    if (FUNCTION == ROOT) {        Trace((stderr, "initializing root path to [%s]\n",          FnFilter1(pathcomp)));        if (pathcomp == (char *)NULL) {            rootlen = 0;            return MPN_OK;        }        if (rootlen > 0)        /* rootpath was already set, nothing to do */            return MPN_OK;        if ((rootlen = strlen(pathcomp)) > 0) {            char *tmproot;            if ((tmproot = (char *)malloc(rootlen+2)) == (char *)NULL) {                rootlen = 0;                return MPN_NOMEM;            }            strcpy(tmproot, pathcomp);            if (tmproot[rootlen-1] == '.') {    /****** was '/' ********/                tmproot[--rootlen] = '\0';            }            if (rootlen > 0 && (SSTAT(tmproot, &G.statbuf) ||                                !S_ISDIR(G.statbuf.st_mode)))            {   /* path does not exist */                if (!G.create_dirs /* || isshexp(tmproot) */ ) {                    free(tmproot);                    rootlen = 0;                    /* skip (or treat as stored file) */                    return MPN_INF_SKIP;                }                /* create the directory (could add loop here scanning tmproot                 * to create more than one level, but why really necessary?) */                if (mkdir(tmproot, 0777) == -1) {                    Info(slide, 1, ((char *)slide,                      "checkdir:  cannot create extraction directory: %s\n",                      FnFilter1(tmproot)));                    free(tmproot);                    rootlen = 0;                    /* path didn't exist, tried to create, and failed: */                    /* file exists, or 2+ subdir levels required */                    return MPN_ERR_SKIP;                }            }            tmproot[rootlen++] = '.';   /*********** was '/' *************/            tmproot[rootlen] = '\0';            if ((rootpath = (char *)realloc(tmproot, rootlen+1)) == NULL) {                free(tmproot);                rootlen = 0;                return MPN_NOMEM;            }            Trace((stderr, "rootpath now = [%s]\n", FnFilter1(rootpath)));        }        return MPN_OK;    }#endif /* !SFX || SFX_EXDIR *//*---------------------------------------------------------------------------    END:  free rootpath, immediately prior to program exit.  ---------------------------------------------------------------------------*/    if (FUNCTION == END) {        Trace((stderr, "freeing rootpath\n"));        if (rootlen > 0) {            free(rootpath);            rootlen = 0;        }        return MPN_OK;    }    return MPN_INVALID; /* should never reach */} /* end function checkdir() *//********************//* Function mkdir() *//********************/int mkdir(path, mode)    const char *path;    int mode;   /* ignored *//* * returns:   0 - successful *           -1 - failed (errno not set, however) */{    return (SWI_OS_File_8((char *)path) == NULL)? 0 : -1;}/*********************************//* extra_field-related functions *//*********************************/static void setRISCOSexfield(ZCONST char *path, ZCONST void *ef_spark){  if (ef_spark!=NULL) {    extra_block *block=(extra_block *)ef_spark;    SWI_OS_File_1((char *)path,block->loadaddr,block->execaddr,block->attr);  }}#ifdef DEBUGstatic void printRISCOSexfield(int isdir, ZCONST void *extra_field){ extra_block *block=(extra_block *)extra_field; printf("\n  This file has RISC OS file informations in the local extra field.\n"); if (isdir) {/*   I prefer not to print this string... should change later... *//*   printf("  The file is a directory.\n");*/ } else if ((block->loadaddr & 0xFFF00000) != 0xFFF00000) {   printf("  Load address: %.8X\n",block->loadaddr);   printf("  Exec address: %.8X\n",block->execaddr); } else {   /************* should change this to use OS_FSControl 18 to get filetype string ************/   char tmpstr[16];   char ftypestr[32];   int flen;   sprintf(tmpstr,"File$Type_%03x",(block->loadaddr & 0x000FFF00) >> 8);   if (SWI_OS_ReadVarVal(tmpstr,ftypestr,32,&flen)==NULL) {     ftypestr[flen]=0;     printf("  Filetype: %s (&%.3X)\n",ftypestr,(block->loadaddr & 0x000FFF00) >> 8);   } else {     printf("  Filetype: &%.3X\n",(block->loadaddr & 0x000FFF00) >> 8);   } } printf("  Access: "); if (block->attr & (1<<3))   printf("L"); if (block->attr & (1<<0))   printf("W"); if (block->attr & (1<<1))   printf("R"); printf("/"); if (block->attr & (1<<4))   printf("w"); if (block->attr & (1<<5))   printf("r"); printf("\n\n");}#endif /* DEBUG *//**********************************************//* internal help function for time conversion *//**********************************************/static int uxtime2acornftime(unsigned *pexadr, unsigned *pldadr, time_t ut){   unsigned timlo;      /* 3 lower bytes of acorn file-time plus carry byte */   unsigned timhi;      /* 2 high bytes of acorn file-time */   timlo = ((unsigned)ut & 0x00ffffffU) * 100 + 0x00996a00U;   timhi = ((unsigned)ut >> 24);   timhi = timhi * 100 + 0x0000336eU + (timlo >> 24);   if (timhi & 0xffff0000U)       return 1;        /* calculation overflow, do not change time */   /* insert the five time bytes into loadaddr and execaddr variables */   *pexadr = (timlo & 0x00ffffffU) | ((timhi & 0x000000ffU) << 24);   *pldadr = (*pldadr & 0xffffff00U) | ((timhi >> 8) & 0x000000ffU);   return 0;            /* subject to future extension to signal overflow */}/****************************//* Function close_outfile() *//****************************/void close_outfile(__G)    __GDEF{  zvoid *spark_ef;  fclose(G.outfile);  if ((spark_ef = getRISCOSexfield(G.extra_field, G.lrec.extra_field_length))      != NULL) {    setRISCOSexfield(G.filename, spark_ef);  } else {    unsigned int loadaddr, execaddr;    int attr;    int mode=G.pInfo->file_attr&0xffff;   /* chmod equivalent mode */    time_t m_time;#ifdef USE_EF_UT_TIME    iztimes z_utime;#endif#ifdef USE_EF_UT_TIME    if (G.extra_field &&#ifdef IZ_CHECK_TZ        G.tz_is_valid &&#endif        (ef_scan_for_izux(G.extra_field, G.lrec.extra_field_length, 0,                          G.lrec.last_mod_dos_datetime, &z_utime, NULL)         & EB_UT_FL_MTIME))    {        TTrace((stderr, "close_outfile:  Unix e.f. modif. time = %ld\n",          z_utime.mtime));        m_time = z_utime.mtime;    } else#endif /* USE_EF_UT_TIME */        m_time = dos_to_unix_time(G.lrec.last_mod_dos_datetime);    /* set the file's modification time */    SWI_OS_File_5(G.filename, NULL, &loadaddr, NULL, NULL, &attr);    uxtime2acornftime(&execaddr, &loadaddr, m_time);    loadaddr = (loadaddr & 0xfff000ffU) |               ((G.pInfo->file_attr&0xfff00000) >> 12);    attr=(attr&0xffffff00) | ((mode&0400) >> 8) | ((mode&0200) >> 6) |                             ((mode&0004) << 2) | ((mode&0002) << 4);    SWI_OS_File_1(G.filename, loadaddr, execaddr, attr);  }} /* end function close_outfile() */#ifdef TIMESTAMP/***************************//*  Function stamp_file()  *//***************************/int stamp_file(fname, modtime)    ZCONST char *fname;    time_t modtime;{    unsigned int loadaddr, execaddr;    int attr;    /* set the file's modification time */    if (SWI_OS_File_5((char *)fname, NULL, &loadaddr, NULL, NULL, &attr)        != NULL)        return -1;    if (uxtime2acornftime(&execaddr, &loadaddr, modtime) != 0)        return -1;    return (SWI_OS_File_1((char *)fname, loadaddr, execaddr, attr) == NULL) ?           0 : -1;} /* end function stamp_file() */#endif /* TIMESTAMP */#ifndef SFX/************************//*  Function version()  *//************************/void version(__G)    __GDEF{    sprintf((char *)slide, LoadFarString(CompiledWith),#ifdef __GNUC__      "gcc ", __VERSION__,#else#  ifdef __CC_NORCROFT      "Norcroft ", "cc",#  else      "cc", "",#  endif#endif      "RISC OS",      " (Acorn Computers Ltd)",#ifdef __DATE__      " on ", __DATE__#else      "", ""#endif      );    (*G.message)((zvoid *)&G, slide, (ulg)strlen((char *)slide), 0);} /* end function version() */#endif /* !SFX */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品日韩精品| 成人免费视频一区| 日韩欧美中文一区二区| 日本午夜精品一区二区三区电影| 欧美日韩国产片| 免费看日韩精品| 精品99999| 丁香婷婷综合网| 亚洲男人的天堂在线观看| 色哟哟一区二区在线观看 | 色婷婷国产精品| 一区二区三区不卡视频| 91麻豆精品国产91久久久久| 精品一区二区三区av| 中文字幕一区二区三区视频| 91国偷自产一区二区开放时间| 午夜精品免费在线| 精品国产凹凸成av人导航| bt7086福利一区国产| 天天影视涩香欲综合网 | 国产精品1区2区3区| 亚洲欧美视频在线观看| 欧美一区二区三区在线视频| 国产a精品视频| 一区二区不卡在线播放 | 久久色在线视频| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲欧美一区二区三区国产精品| 欧美男同性恋视频网站| 国产精品 欧美精品| 亚洲高清视频在线| 国产日本欧美一区二区| 欧美三级韩国三级日本三斤| 国产一区二区三区| 亚洲国产成人av好男人在线观看| 久久日一线二线三线suv| 在线观看视频一区二区欧美日韩| 免费欧美高清视频| 亚洲三级在线看| 精品国产伦理网| 色成年激情久久综合| 精品一区二区三区视频在线观看| 亚洲欧美日韩在线不卡| 精品国产免费视频| 欧美高清视频不卡网| 成人动漫精品一区二区| 狠狠色狠狠色合久久伊人| 亚洲自拍偷拍麻豆| 国产精品理伦片| 精品日韩一区二区三区| 欧美色图片你懂的| 91在线视频观看| 国产精品自拍在线| 美腿丝袜亚洲综合| 视频一区视频二区在线观看| 亚洲免费观看在线观看| 中文字幕欧美三区| 久久久一区二区| 欧美成人猛片aaaaaaa| 欧美日韩你懂得| 色噜噜久久综合| aaa亚洲精品| 高清成人免费视频| 国产超碰在线一区| 国产在线视频不卡二| 日韩精品一级二级| 日本在线播放一区二区三区| 亚洲资源在线观看| 亚洲制服丝袜av| 亚洲图片激情小说| 亚洲欧美偷拍卡通变态| 亚洲人午夜精品天堂一二香蕉| 国产清纯美女被跳蛋高潮一区二区久久w| 91精品国产综合久久国产大片 | 成人av午夜电影| 国产成人av电影在线观看| 精品一区二区免费看| 日韩电影在线免费观看| 天堂久久一区二区三区| 视频一区二区欧美| 日本不卡一区二区三区高清视频| 天堂av在线一区| 日韩精品电影一区亚洲| 日本成人在线一区| 久久av中文字幕片| 国产在线一区观看| 成人免费毛片片v| 播五月开心婷婷综合| 99久久夜色精品国产网站| 91在线视频免费观看| 欧美专区亚洲专区| 欧美电影在线免费观看| 欧美一区二区二区| 久久综合网色—综合色88| 欧美激情综合在线| 亚洲色图另类专区| 天天操天天干天天综合网| 男女男精品网站| 国产精品一区二区果冻传媒| 成人av网站在线| 欧美主播一区二区三区| 91精品国产91综合久久蜜臀| 久久久亚洲精品石原莉奈| 综合色中文字幕| 五月综合激情日本mⅴ| 国产美女精品在线| 色婷婷亚洲综合| 日韩欧美视频在线| 中文字幕一区二区在线播放 | 午夜伊人狠狠久久| 韩国视频一区二区| 北条麻妃一区二区三区| 欧美三级三级三级| 国产欧美精品一区aⅴ影院| 亚洲综合成人在线视频| 久久99精品视频| 色综合久久久久| 日韩欧美视频在线| 亚洲欧美日韩久久| 久久国产人妖系列| 99r精品视频| 日韩欧美一级二级三级久久久| 中文字幕在线观看不卡| 免费国产亚洲视频| 91片在线免费观看| 2020国产精品久久精品美国| 亚洲精品国产一区二区三区四区在线| 日本免费新一区视频| 91网站黄www| 久久久av毛片精品| 亚洲国产精品久久久久秋霞影院 | 久久99精品一区二区三区| 91麻豆免费在线观看| 欧美mv日韩mv亚洲| 亚洲制服丝袜av| 成人精品视频网站| 欧美一级黄色大片| 亚洲欧美日韩在线| 国产sm精品调教视频网站| 在线91免费看| 一级中文字幕一区二区| 成人爱爱电影网址| 精品国产免费一区二区三区香蕉| 亚洲午夜精品久久久久久久久| 成人免费观看视频| 久久精品免费在线观看| 亚洲 欧美综合在线网络| av电影天堂一区二区在线观看| 久久天天做天天爱综合色| 日韩av一二三| 欧美丰满嫩嫩电影| 亚洲最大成人网4388xx| 成人免费av资源| 久久久不卡网国产精品二区 | 一区二区三区欧美日韩| 成人性生交大片免费看视频在线| 欧美成人三级电影在线| 日本伊人色综合网| 欧美日韩成人在线| 亚洲国产一区视频| 在线免费观看不卡av| 一区二区三区在线免费播放| 色综合网站在线| 亚洲人成亚洲人成在线观看图片 | 日本高清成人免费播放| 中文字幕一区在线观看| a美女胸又www黄视频久久| 日本一区二区三区高清不卡| 国产精品亚洲午夜一区二区三区 | 一区二区三区中文在线观看| k8久久久一区二区三区 | 亚洲综合在线观看视频| 色94色欧美sute亚洲线路一ni | 欧美日韩国产一级片| 亚洲国产精品欧美一二99| 在线日韩国产精品| 性做久久久久久免费观看| 777午夜精品视频在线播放| 青青草原综合久久大伊人精品优势 | 欧美精品一级二级| 青青草91视频| 精品国产91洋老外米糕| 国产成人福利片| 国产精品美女久久久久久久| 99久久精品免费看| 一区二区视频在线| 欧美美女一区二区三区| 日本不卡一二三区黄网| 精品国产乱码久久久久久1区2区| 国产一区二区三区四区五区入口| 国产精品天干天干在线综合| 91啪九色porn原创视频在线观看| 亚洲综合精品久久| 日韩欧美成人一区| 国产成人午夜电影网| 亚洲综合色视频| 精品处破学生在线二十三| av电影在线观看一区| 天天影视涩香欲综合网| 久久婷婷国产综合国色天香|