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

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

?? avc_e00read.c

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? C
?? 第 1 頁 / 共 5 頁
字號:
     *----------------------------------------------------------------*/    if (bFoundArcFile && bFoundTableFile)        return AVCCoverWeird;    /*-----------------------------------------------------------------     * V7 Coverages... they are the easiest to recognize     * because of the ".adf" file extension     *----------------------------------------------------------------*/    if (bFoundAdfFile)        return AVCCoverV7;    return AVCCoverTypeUnknown;}/********************************************************************** *                         _AVCE00ReadAddJabberwockySection() * * Add to the squeleton a section that contains subsections  * for all the files with a given extension. * * Returns Updated Coverage precision **********************************************************************/static int _AVCE00ReadAddJabberwockySection(AVCE00ReadPtr psInfo,                                            AVCFileType   eFileType,                                            const char   *pszSectionName,                                            int           nCoverPrecision,                                            const char   *pszFileExtension,                                            char        **papszCoverDir ){    int         iSect, iDirEntry, nLen, nExtLen;    GBool       bFoundFiles = FALSE;    AVCBinFile *psFile=NULL;    nExtLen = strlen(pszFileExtension);    /*-----------------------------------------------------------------     * Scan the directory for files with a ".txt" extension.     *----------------------------------------------------------------*/    for (iDirEntry=0; papszCoverDir && papszCoverDir[iDirEntry]; iDirEntry++)    {        nLen = strlen(papszCoverDir[iDirEntry]);        if (nLen > nExtLen && EQUAL(papszCoverDir[iDirEntry] + nLen-nExtLen,                                     pszFileExtension) &&            (psFile = AVCBinReadOpen(psInfo->pszCoverPath,                                      papszCoverDir[iDirEntry],                                     psInfo->eCoverType, eFileType,                                     psInfo->psDBCSInfo)) != NULL)        {            if (nCoverPrecision == AVC_DEFAULT_PREC)                nCoverPrecision = psFile->nPrecision;            AVCBinReadClose(psFile);            if (bFoundFiles == FALSE)            {                /* Insert a "TX6 #" header before the first TX6 file                 */                iSect = _AVCIncreaseSectionsArray(&(psInfo->pasSections),                                                   &(psInfo->numSections), 1);                psInfo->pasSections[iSect].eType = AVCFileUnknown;                psInfo->pasSections[iSect].pszName =                             CPLStrdup(CPLSPrintf("%s  %c", pszSectionName,                                  (nCoverPrecision==AVC_DOUBLE_PREC)?'3':'2'));                bFoundFiles = TRUE;            }            /* Add this file to the squeleton              */            iSect = _AVCIncreaseSectionsArray(&(psInfo->pasSections),                                               &(psInfo->numSections), 1);            psInfo->pasSections[iSect].eType = eFileType;            psInfo->pasSections[iSect].pszFilename=                                    CPLStrdup(papszCoverDir[iDirEntry]);            /* pszName will contain only the classname without the file              * extension */            psInfo->pasSections[iSect].pszName =                                   CPLStrdup(papszCoverDir[iDirEntry]);            psInfo->pasSections[iSect].pszName[nLen-nExtLen] = '\0';        }    }    if (bFoundFiles)    {        /* Add a line to close the TX6 section.         */        iSect = _AVCIncreaseSectionsArray(&(psInfo->pasSections),                                           &(psInfo->numSections), 1);        psInfo->pasSections[iSect].eType = AVCFileUnknown;        psInfo->pasSections[iSect].pszName = CPLStrdup("JABBERWOCKY");    }    return nCoverPrecision;}/********************************************************************** *                     _AVCE00ReadNextLineE00() * * Processes the next line of input from the E00 file. * (See AVCE00WriteNextLine() for similar processing.) * * Returns the next object from the E00 file, or NULL. **********************************************************************/static void *_AVCE00ReadNextLineE00(AVCE00ReadE00Ptr psRead,        const char *pszLine){    int nStatus = 0;    void *psObj = 0;    AVCE00ParseInfo *psInfo = psRead->hParseInfo;    CPLErrorReset();    ++psInfo->nCurLineNum;    if (psInfo->bForceEndOfSection)    {        /*-------------------------------------------------------------         * The last call encountered an implicit end of section, so         * we close the section now without waiting for an end-of-section         * line (there won't be any!)... and get ready to proceed with         * the next section.         * This is used for TABLEs.         *------------------------------------------------------------*/        AVCE00ParseSectionEnd(psInfo, pszLine, TRUE);        psRead->eCurFileType = AVCFileUnknown;    }    /*-----------------------------------------------------------------     * If we're at the top level inside a supersection... check if this     * supersection ends here.     *----------------------------------------------------------------*/    if (AVCE00ParseSuperSectionEnd(psInfo, pszLine) == TRUE)    {        /* Nothing to do... it's all been done by the call to          * AVCE00ParseSuperSectionEnd()         */    }    else if (psRead->eCurFileType == AVCFileUnknown)    {        /*-------------------------------------------------------------         * We're at the top level or inside a supersection... waiting          * to encounter a valid section or supersection header          * (i.e. "ARC  2", etc...)         *------------------------------------------------------------*/        /*-------------------------------------------------------------         * First check for a supersection header (TX6, RXP, IFO, ...)         *------------------------------------------------------------*/        if ( AVCE00ParseSuperSectionHeader(psInfo,                                           pszLine) == AVCFileUnknown )        {            /*---------------------------------------------------------             * This was not a supersection header... check if it's a simple             * section header             *--------------------------------------------------------*/            psRead->eCurFileType = AVCE00ParseSectionHeader(psInfo,                    pszLine);        }        else        {            /* got supersection */        }        if (psRead->eCurFileType == AVCFileTABLE)        {            /*---------------------------------------------------------             * send the first header line to the parser and wait until             * the whole header has been read.             *--------------------------------------------------------*/            AVCE00ParseNextLine(psInfo, pszLine);         }        else if (psRead->eCurFileType != AVCFileUnknown)        {            /*---------------------------------------------------------             * found a valid section header             *--------------------------------------------------------*/        }    }    else if (psRead->eCurFileType == AVCFileTABLE &&             ! psInfo->bTableHdrComplete )    {        /*-------------------------------------------------------------         * We're reading a TABLE header... continue reading lines         * from the header         *         * Note: When parsing a TABLE, the first object returned will          * be the AVCTableDef, then data records will follow.         *------------------------------------------------------------*/        psObj = AVCE00ParseNextLine(psInfo, pszLine);         if (psObj)        {			/* got table header */            /* TODO: Enable return of table definition? */            psObj = NULL;        }    }    else    {        /*-------------------------------------------------------------         * We're are in the middle of a section... first check if we         * have reached the end.         *         * note: The first call to AVCE00ParseSectionEnd() with FALSE will          *       not reset the parser until we close the file... and then         *       we call the function again to reset the parser.         *------------------------------------------------------------*/        if (AVCE00ParseSectionEnd(psInfo, pszLine, FALSE))        {            psRead->eCurFileType = AVCFileUnknown;            AVCE00ParseSectionEnd(psInfo, pszLine, TRUE);        }        else        /*-------------------------------------------------------------         * ... not at the end yet, so continue reading objects.         *------------------------------------------------------------*/        {            psObj = AVCE00ParseNextLine(psInfo, pszLine);            if (psObj)            {				/* got object */            }        }    }    if (CPLGetLastErrorNo() != 0)        nStatus = -1;    return psObj;}/********************************************************************** *                         _AVCE00ReadBuildSqueleton() * * Build the squeleton of the E00 file corresponding to the specified * coverage and set the appropriate fields in the AVCE00ReadPtr struct. * * Note that the order of the sections in the squeleton is important * since some software may rely on this ordering when they read E00 files. * * The function returns the coverage precision that it will read from one * of the file headers.   **********************************************************************/static int _AVCE00ReadBuildSqueleton(AVCE00ReadPtr psInfo,                                      char **papszCoverDir){    int         iSect, iTable, numTables, iFile, nLen;    char      **papszTables, **papszFiles, szCWD[75]="", *pcTmp;    char       *pszEXPPath=NULL;    int         nCoverPrecision = AVC_DEFAULT_PREC;    char        cPrecisionCode = '2';    const char *szFname = NULL;    AVCBinFile *psFile=NULL;    psInfo->numSections = 0;    psInfo->pasSections = NULL;    /*-----------------------------------------------------------------     * Build the absolute coverage path to include in the EXP  0 line     * This line usually contains the full path of the E00 file that     * is being created, but since the lib does not write the output     * file directly, there is no simple way to get that value.  Instead,     * we will use the absolute coverage path to which we add a .E00     * extension.     * We need also make sure cover path is all in uppercase.     *----------------------------------------------------------------*/#ifdef WIN32    if (psInfo->pszCoverPath[0] != '\\' &&        !(isalpha(psInfo->pszCoverPath[0]) && psInfo->pszCoverPath[1] == ':'))#else    if (psInfo->pszCoverPath[0] != '/')#endif    {        if (getcwd(szCWD, 74) == NULL)            szCWD[0] = '\0';    /* Failed: buffer may be too small */        nLen = strlen(szCWD);#ifdef WIN32        if (nLen > 0 && szCWD[nLen -1] != '\\')            strcat(szCWD, "\\");#else        if (nLen > 0 && szCWD[nLen -1] != '/')            strcat(szCWD, "/");#endif    }    pszEXPPath = CPLStrdup(CPLSPrintf("EXP  0 %s%-.*s.E00", szCWD,                                      strlen(psInfo->pszCoverPath)-1,                                      psInfo->pszCoverPath));    pcTmp = pszEXPPath;    for( ; *pcTmp != '\0'; pcTmp++)        *pcTmp = toupper(*pcTmp);    /*-----------------------------------------------------------------     * EXP Header     *----------------------------------------------------------------*/    iSect = _AVCIncreaseSectionsArray(&(psInfo->pasSections),                                   &(psInfo->numSections), 1);    psInfo->pasSections[iSect].eType = AVCFileUnknown;    psInfo->pasSections[iSect].pszName = pszEXPPath;    /*-----------------------------------------------------------------     * We have to try to open each file as we go for 2 reasons:     * - To validate the file's signature in order to detect cases like a user     *   that places files such as "mystuff.txt" in the cover directory...     *   this has already happened and obviously lead to problems!)     * - We also need to find the coverage's precision from the headers     *----------------------------------------------------------------*/    /*-----------------------------------------------------------------     * ARC section (arc.adf)     *----------------------------------------------------------------*/    szFname = (psInfo->eCoverType==AVCCoverV7 ||                psInfo->eCoverType==AVCCoverPC2 ) ? "arc.adf": "arc";    if ( (iFile=CSLFindString(papszCoverDir, szFname)) != -1 &&         (psFile = AVCBinReadOpen(psInfo->pszCoverPath, szFname,                                  psInfo->eCoverType, AVCFileARC,                                  psInfo->psDBCSInfo)) != NULL)    {        if (nCoverPrecision == AVC_DEFAULT_PREC)            nCoverPrecision = psFile->nPrecision;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲一区二区三区四区| 99久久99久久久精品齐齐| 欧美成人精品福利| 午夜婷婷国产麻豆精品| 在线日韩av片| 亚洲123区在线观看| 欧美夫妻性生活| 黑人巨大精品欧美黑白配亚洲| 精品黑人一区二区三区久久| 国产精品一级黄| 亚洲人123区| 欧美精选在线播放| 国内精品第一页| 亚洲视频一二三区| 91精品婷婷国产综合久久性色| 视频一区二区三区在线| 欧美成人免费网站| caoporm超碰国产精品| 亚洲一区二区在线免费观看视频 | 成人99免费视频| 亚洲永久精品国产| 日韩精品一区二区三区在线播放| 国产成人精品免费网站| 亚洲女性喷水在线观看一区| 7777精品伊人久久久大香线蕉的| 国产一区啦啦啦在线观看| 亚洲嫩草精品久久| 久久蜜臀精品av| 在线影视一区二区三区| 国产一区激情在线| 亚洲二区在线观看| 国产女人18水真多18精品一级做| 欧美在线视频你懂得| 国产福利一区在线| 日本中文字幕一区| 亚洲精品国产无套在线观| 日韩一级大片在线| 欧美亚洲国产一卡| 成人高清视频免费观看| 日韩成人免费电影| 亚洲人成网站色在线观看| 日韩欧美成人午夜| 欧洲一区二区av| 成人久久久精品乱码一区二区三区| 一区二区三区高清在线| 欧美国产精品一区二区| 亚洲精品在线观| 欧美精品一级二级| 色综合天天综合狠狠| 国产成a人亚洲精品| 蜜桃视频一区二区| 亚洲va韩国va欧美va精品| 亚洲欧美一区二区三区久本道91| 久久亚洲一区二区三区四区| 欧美精品 日韩| 91久久精品国产91性色tv| 成人久久18免费网站麻豆| 国产精品一区在线观看你懂的| 日韩在线一区二区三区| 亚洲福利视频一区二区| 伊人色综合久久天天人手人婷| 国产精品你懂的在线| 精品久久人人做人人爱| 日韩视频一区在线观看| 欧美一区二区视频网站| 在线不卡一区二区| 正在播放一区二区| 久久网这里都是精品| 69av一区二区三区| 欧美精品在线观看播放| 欧美女孩性生活视频| 欧美亚洲日本国产| 欧美最新大片在线看| 色噜噜狠狠成人网p站| 色域天天综合网| 日本黄色一区二区| 欧美在线一二三| 欧美日韩免费一区二区三区| 欧美在线看片a免费观看| 欧美曰成人黄网| 精品婷婷伊人一区三区三| 在线观看亚洲成人| 欧美精品电影在线播放| 日韩欧美一区二区在线视频| 日韩亚洲欧美高清| 亚洲精品在线观看网站| 久久精品人人做人人综合 | 国产日韩欧美激情| 中文字幕第一区| 亚洲裸体xxx| 一区二区三区四区国产精品| 亚洲成在人线免费| 麻豆免费精品视频| 粉嫩一区二区三区性色av| 成人白浆超碰人人人人| 欧美影院一区二区| 日韩三级av在线播放| 国产无遮挡一区二区三区毛片日本| 日本一区二区三区高清不卡 | 亚洲三级电影网站| 亚洲国产日韩精品| 精品综合免费视频观看| 高清不卡一区二区| 在线免费观看视频一区| 欧美r级在线观看| 国产精品萝li| 亚洲aⅴ怡春院| 国产精品一二三| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲柠檬福利资源导航| 香蕉影视欧美成人| 国产一区二区三区高清播放| 一本大道av一区二区在线播放| 4438x亚洲最大成人网| 欧美激情资源网| 午夜电影一区二区| 国产成人精品亚洲午夜麻豆| 欧美在线影院一区二区| 久久综合狠狠综合久久综合88| 亚洲丝袜制服诱惑| 久久99国产精品成人| 一本久久综合亚洲鲁鲁五月天| 69堂精品视频| 亚洲免费av高清| 国产一区在线观看视频| 欧美在线小视频| 国产精品久久久久久久久免费桃花 | 中文字幕巨乱亚洲| 日韩极品在线观看| 一本一本大道香蕉久在线精品| 精品国精品自拍自在线| 亚洲影视在线播放| 国产精品1区2区| 日韩免费高清视频| 亚洲午夜精品在线| 在线观看一区不卡| 国产精品免费久久| 精品制服美女久久| 欧美日韩久久一区| 亚洲日本一区二区| 国产成人h网站| 欧美videofree性高清杂交| 亚洲一区二区三区四区的| 福利一区二区在线| 久久久久久久电影| 久久国产精品第一页| 欧美精品亚洲一区二区在线播放| 成人欧美一区二区三区白人| 精品一区在线看| 日韩欧美123| 日韩制服丝袜先锋影音| 精品视频一区三区九区| 亚洲乱码国产乱码精品精可以看| 国产精品影视在线观看| 26uuu精品一区二区在线观看| 青草av.久久免费一区| 制服丝袜亚洲播放| 日韩中文欧美在线| 欧美一区二区免费视频| 日韩国产欧美视频| 欧美一区二区三区白人| 免费人成精品欧美精品| 日韩一区二区在线观看| 免费精品视频在线| 日韩视频在线永久播放| 久久精品噜噜噜成人av农村| 欧美一区二区在线不卡| 日本最新不卡在线| 日韩精品中文字幕在线一区| 麻豆一区二区三| 久久色.com| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 精品国产亚洲一区二区三区在线观看 | 日韩电影在线看| 欧美xxxx在线观看| 国内精品久久久久影院薰衣草| 久久久电影一区二区三区| 高清成人免费视频| 1024成人网| 欧美日韩中文字幕一区二区| 亚洲高清不卡在线观看| 日韩一区二区在线看片| 国产麻豆精品在线| 国产精品国产馆在线真实露脸| 91在线观看高清| 亚洲图片自拍偷拍| 日韩美女一区二区三区四区| 激情av综合网| 亚洲四区在线观看| 91精品蜜臀在线一区尤物| 久久精品国产成人一区二区三区| 精品久久99ma| 成人91在线观看| 亚洲成人动漫在线免费观看| 日韩女优电影在线观看| 99免费精品在线观看| 日韩综合一区二区| 亚洲国产精品黑人久久久| 在线观看视频一区二区欧美日韩| 日本成人在线看|