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

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

?? pathname.c

?? zip壓縮
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*  Copyright (c) 1990-2001 Info-ZIP.  All rights reserved.  See the accompanying file LICENSE, version 2000-Apr-09 or later  (the contents of which are also included in zip.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*//*---------------------------------------------------------------------------  pathname.c  Function dealing with the pathname. Mostly C-string work.  ---------------------------------------------------------------------------*//*****************************************************************************//*  Includes                                                                 *//*****************************************************************************/#include <string.h>#include <stdio.h>#include <unistd.h>#include <sound.h>#include "pathname.h"#include "helpers.h"#include "macstuff.h"/*****************************************************************************//*  Global Vars                                                              *//*****************************************************************************/const char  ResourceMark[] = "XtraStuf.mac:";  /* see also macos.c */#include "zip.h"/*****************************************************************************//*  Functions                                                                *//*****************************************************************************//* *---------------------------------------------------------------------- * * FSpFindFolder -- * *  This function is a version of the FindFolder function that *  returns the result as a FSSpec rather than a vRefNum and dirID. * * Results: *  Results will be simaler to that of the FindFolder function. * * Side effects: *  None. * *---------------------------------------------------------------------- */OSErrFSpFindFolder(    short vRefNum,      /* Volume reference number. */    OSType folderType,      /* Folder type taken by FindFolder. */    Boolean createFolder,   /* Should we create it if non-existant. */    FSSpec *spec)       /* Pointer to resulting directory. */{    short foundVRefNum;    long foundDirID;    OSErr err;    err = FindFolder(vRefNum, folderType, createFolder,        &foundVRefNum, &foundDirID);    if (err != noErr) {    return err;    }    err = FSMakeFSSpecCompat(foundVRefNum, foundDirID, "\p", spec);    return err;}/***  return volumename from pathname***/unsigned short GetVolumeFromPath(const char *FullPath, char *VolumeName){const char *VolEnd, *tmpPtr1;char *tmpPtr2 = VolumeName;AssertStr(FullPath,"GetVolumeFromPath")for (VolEnd = FullPath; *VolEnd != '\0' && *VolEnd != ':'; VolEnd++)      ;if (*VolEnd == '\0') return 0;for (tmpPtr1 = FullPath; tmpPtr1 != VolEnd;)    {    *tmpPtr2++ = *tmpPtr1++;    }*tmpPtr2 = '\0';return (unsigned short) strlen(VolumeName);}/***********************************//* Function FindNewExtractFolder() *//***********************************/char *FindNewExtractFolder(char *ExtractPath, Boolean uniqueFolder){char buffer[NAME_MAX], *tmpPtr, *namePtr;char *last_dotpos         = ExtractPath;short count = 0, folderCount = 0;OSErr err;FSSpec Spec;long theDirID;Boolean isDirectory;unsigned short namelen, pathlen = strlen(ExtractPath);unsigned long ext_length  = 0;unsigned long num_to_cut  = 0;long firstpart_length = pathlen;AssertStr(ExtractPath,"FindNewExtractFolder ExtractPath == NULL")for (tmpPtr = ExtractPath; *tmpPtr; tmpPtr++)    if (*tmpPtr == ':')        {        folderCount++;        namePtr = tmpPtr;        }if (folderCount > 1) {    namelen = strlen(namePtr);} else {    namelen = strlen(ExtractPath);}if (uniqueFolder) {    for (count = 0; count < 99; count++)        {        memset(buffer,0,sizeof(buffer));        if (namelen >= 28)            ExtractPath[pathlen-2] = 0x0;        else            ExtractPath[pathlen-1] = 0x0;        sprintf(buffer,"%s%d",ExtractPath,count);        GetCompletePath(ExtractPath, buffer, &Spec,&err);        err = FSpGetDirectoryID(&Spec, &theDirID, &isDirectory);        if (err == -43) break;        }} else {    /* Look for the last extension pos */    for (tmpPtr = ExtractPath; *tmpPtr; tmpPtr++)        if (*tmpPtr == '.') last_dotpos = tmpPtr;    ext_length = strlen(last_dotpos);    if (ext_length < 6) {  /* up to 5 chars are treated as a */                           /* normal extension like ".html" or ".class"  */        int nameLength = last_dotpos - ExtractPath;        if (nameLength > 1) {            ExtractPath[nameLength] = 0x0;        } else {            ExtractPath[pathlen-1] = 0x0;        }    } else {        ExtractPath[pathlen-1] = 0x0;    }    GetCompletePath(ExtractPath, ExtractPath, &Spec,&err);}/* Foldernames must always end with a colon  */sstrcat(ExtractPath,":");return ExtractPath;}/***  creates an archive file name***/void createArchiveName(char *thePath){char *tmpPtr, *namePtr;short folderCount = 0;unsigned short namelen, pathlen = strlen(thePath);if (thePath[pathlen-1] == ':') thePath[pathlen-1] = 0x0;for (tmpPtr = thePath; *tmpPtr; tmpPtr++)    if (*tmpPtr == ':')        {        folderCount++;        namePtr = tmpPtr;        }namelen = strlen(namePtr);    /* we have to eliminate illegal chars:     * The name space for Mac filenames and Zip filenames (unix style names)     * do both include all printable extended-ASCII characters.  The only     * difference we have to take care of is the single special character     * used as path delimiter:     * ':' on MacOS and '/' on Unix and '\' on Dos.     * So, to convert between Mac filenames and Unix filenames without any     * loss of information, we simply interchange ':' and '/'.  Additionally,     * we try to convert the coding of the extended-ASCII characters into     * InfoZip's standard ISO 8859-1 codepage table.     */  MakeCompatibleString(namePtr, '/', '_', '.', '-', -1); /* Avoid filenames like: "Archive..zip"  */if (thePath[pathlen-1] == '.')    {    thePath[pathlen-1] = 0;    }if (folderCount >= 1)    { /* path contains at least one folder */    if (namelen >= 28)        {        pathlen = pathlen-4;        }    thePath[pathlen]   = '.';    thePath[pathlen+1] = 'z';    thePath[pathlen+2] = 'i';    thePath[pathlen+3] = 'p';    thePath[pathlen+4] = 0x0;    return;    }else    {  /* path contains no folder */    FindDesktopFolder(thePath);    createArchiveName(thePath);    }}/*** finds the desktop-folder on a volume with** largest amount of free-space.*/void FindDesktopFolder(char *Path){char buffer[255];FSSpec  volumes[50];        /* 50 Volumes should be enough */short   actVolCount, volIndex = 1, VolCount = 0;OSErr   err;short     i, foundVRefNum;FSSpec spec;UInt64 freeBytes;UInt64 totalBytes;UInt64 MaxFreeBytes;err = OnLine(volumes, 50, &actVolCount, &volIndex);printerr("OnLine:", (err != -35) && (err != 0), err, __LINE__, __FILE__, "");MaxFreeBytes = 0;for (i=0; i < actVolCount; i++)    {    XGetVInfo(volumes[i].vRefNum,              volumes[i].name,              &volumes[i].vRefNum,              &freeBytes,              &totalBytes);    if (MaxFreeBytes < freeBytes) {        MaxFreeBytes = freeBytes;        foundVRefNum = volumes[i].vRefNum;    }    if ((freeBytes == 0) && (MaxFreeBytes < freeBytes)) {        MaxFreeBytes = freeBytes;        foundVRefNum = volumes[i].vRefNum;    }} FSpFindFolder(foundVRefNum, kDesktopFolderType,            kDontCreateFolder,&spec); GetFullPathFromSpec(buffer, &spec , &err); sstrcat(buffer,Path); sstrcpy(Path,buffer);}/***  return the path without the filename***/char *TruncFilename(char *DirPath, const char *FilePath){char *tmpPtr;char *dirPtr = NULL;AssertStr(DirPath,"TruncFilename")Assert_it(Spec,"TruncFilename","")sstrcpy(DirPath, FilePath);for (tmpPtr = DirPath; *tmpPtr; tmpPtr++)    if (*tmpPtr == ':')        dirPtr = tmpPtr;if (dirPtr)    *++dirPtr = '\0';else    printerr("TruncFilename: FilePath has no Folders", -1,         -1, __LINE__, __FILE__, FilePath);return DirPath;}/***  return only filename***/char *GetFilename(char *FileName, const char *FilePath){const char *tmpPtr;const char *dirPtr = NULL;Assert_it(FileName,"GetFilename","")Assert_it(FilePath,"GetFilename","")for (tmpPtr = FilePath; *tmpPtr; tmpPtr++)    {    if (*tmpPtr == ':')        {        dirPtr = tmpPtr;        }    }if (dirPtr)    {    ++dirPtr;  /* jump over the ':' */    }else    {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人成网站在线| 亚洲免费色视频| 一区二区三区四区亚洲| 捆绑调教美女网站视频一区| 91最新地址在线播放| 日韩一区二区中文字幕| 亚洲最新视频在线观看| 成人av网站免费| 久久久三级国产网站| 日本sm残虐另类| 在线观看日韩国产| 国产精品麻豆视频| 国产精品99久久久久久有的能看| 欧美久久久一区| 一区二区免费在线播放| 不卡一区中文字幕| 久久久久九九视频| 精品一区二区在线观看| 777亚洲妇女| 五月激情丁香一区二区三区| 在线亚洲一区观看| 亚洲欧美激情插 | 日本一区二区三区久久久久久久久不 | 一本到不卡精品视频在线观看 | 欧美中文字幕一区二区三区亚洲| 欧美国产禁国产网站cc| 精品一区二区三区香蕉蜜桃| 欧美美女网站色| 亚洲成人福利片| 欧洲av在线精品| 亚洲免费三区一区二区| 91视频你懂的| 亚洲欧美日韩人成在线播放| 成人h动漫精品| 亚洲国产成人私人影院tom| 国产一区二区三区观看| 精品国内二区三区| 精品一区免费av| 久久亚洲二区三区| 国产精品一级黄| 久久久久青草大香线综合精品| 久久国产人妖系列| 精品国产青草久久久久福利| 美美哒免费高清在线观看视频一区二区| 欧美精品乱码久久久久久按摩| 亚洲国产日韩综合久久精品| 欧美亚洲免费在线一区| 天堂av在线一区| 91精品国产综合久久香蕉麻豆| 青娱乐精品视频在线| 日韩欧美亚洲另类制服综合在线| 老司机精品视频线观看86| 精品av综合导航| 国产成人日日夜夜| 亚洲国产高清在线观看视频| 成人手机电影网| 国产精品国产馆在线真实露脸 | 麻豆视频一区二区| 欧美大胆人体bbbb| 国产美女视频91| 国产精品麻豆久久久| 日本韩国欧美一区| 午夜久久电影网| 欧美电影免费观看完整版| 国产在线国偷精品免费看| 国产精品午夜在线观看| 色综合久久久久久久久| 亚洲一区二区三区免费视频| 欧美一区二区高清| 国产成a人亚洲精品| 亚洲情趣在线观看| 欧美日韩久久久久久| 久久精品国产网站| 国产丝袜在线精品| 日本精品裸体写真集在线观看| 丝袜亚洲另类丝袜在线| 欧美精品一区二区三区四区| 不卡在线视频中文字幕| 亚洲成国产人片在线观看| 欧美mv日韩mv国产网站app| 风间由美一区二区三区在线观看 | 欧美日韩视频在线第一区 | 一区二区高清免费观看影视大全| 欧美日韩亚洲综合| 国产一区二区中文字幕| 亚洲欧洲精品天堂一级| 欧美日韩一区久久| 国产成人综合在线| 亚洲成人中文在线| 国产无遮挡一区二区三区毛片日本| 91亚洲国产成人精品一区二区三 | 日本亚洲三级在线| 日本一区二区三区视频视频| 欧美性高清videossexo| 黄色精品一二区| 亚洲男人的天堂一区二区| 欧美一区二区精品在线| 成人免费视频播放| 午夜视频一区在线观看| 国产女人aaa级久久久级 | 欧美日韩一区二区三区在线看| 经典三级一区二区| 一区二区三区免费观看| 久久久久久久综合狠狠综合| 色综合夜色一区| 国产精品原创巨作av| 亚洲午夜在线电影| 亚洲国产精品av| 日韩一区二区免费高清| 色综合久久综合网| 国产精品一区二区你懂的| 午夜精品一区二区三区电影天堂 | 综合网在线视频| 精品乱人伦小说| 欧洲激情一区二区| 99久久综合狠狠综合久久| 九九热在线视频观看这里只有精品| 亚洲乱码国产乱码精品精98午夜| 精品国产电影一区二区| 欧美日韩久久不卡| 91丨porny丨最新| 国产高清不卡二三区| 午夜视频在线观看一区二区| 亚洲欧洲日韩在线| 国产午夜亚洲精品理论片色戒| 欧美日本国产一区| 91影视在线播放| 国产69精品久久99不卡| 九九国产精品视频| 日韩不卡一二三区| 亚洲一区二区av在线| 国产精品护士白丝一区av| 精品国产1区2区3区| 91精品蜜臀在线一区尤物| 欧美日韩一区二区三区免费看 | 国产麻豆欧美日韩一区| 日韩二区三区四区| 亚洲与欧洲av电影| 亚洲特级片在线| 国产精品久久久久久久久图文区| 精品蜜桃在线看| 欧美刺激脚交jootjob| 911精品产国品一二三产区| 在线视频你懂得一区| 色婷婷久久久综合中文字幕 | 天涯成人国产亚洲精品一区av| 亚洲激情一二三区| 亚洲精品国久久99热| 亚洲人123区| 亚洲精品视频免费看| 日韩毛片精品高清免费| 日韩理论片一区二区| 亚洲品质自拍视频| 亚洲黄色性网站| 亚洲曰韩产成在线| 亚洲成人在线免费| 午夜精品一区二区三区三上悠亚| 亚洲一二三区不卡| 婷婷国产在线综合| 免费成人在线观看视频| 看片的网站亚洲| 韩国欧美国产1区| 国产一区二区三区精品视频| 国产精品18久久久久久久网站| 国产伦精品一区二区三区免费 | 亚洲r级在线视频| 亚洲国产成人va在线观看天堂| 午夜视频在线观看一区二区| 天堂一区二区在线| 久久福利资源站| 丁香桃色午夜亚洲一区二区三区| 成人午夜私人影院| 91视频在线看| 欧美人牲a欧美精品| 日韩视频免费直播| 久久久不卡网国产精品二区| 欧美国产日韩一二三区| 亚洲男同性视频| 午夜不卡av在线| 美国三级日本三级久久99| 国产精品系列在线播放| 99精品国产99久久久久久白柏| 在线视频综合导航| 91精品久久久久久久久99蜜臂| 精品播放一区二区| 亚洲天堂a在线| 同产精品九九九| 国产乱妇无码大片在线观看| 成人黄色av网站在线| 欧美性色aⅴ视频一区日韩精品| 欧美精品色一区二区三区| 欧美大片在线观看一区二区| 中文字幕欧美区| 亚洲曰韩产成在线| 国产综合色视频| 91亚洲国产成人精品一区二区三| 欧美日韩中字一区| 国产清纯美女被跳蛋高潮一区二区久久w | 久久久一区二区三区| 中文子幕无线码一区tr|