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

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

?? avc_e00read.c

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? C
?? 第 1 頁 / 共 5 頁
字號:
                pszName = "ARC";                break;            case AVCFilePAL:                pszName = "PAL";                break;            case AVCFileCNT:                pszName = "CNT";                break;            case AVCFileLAB:                pszName = "LAB";                break;            case AVCFileRPL:                pszName = "RPL";                break;            case AVCFileTXT:                pszName = "TXT";                break;            case AVCFileTX6:                pszName = "TX6";                break;            case AVCFilePRJ:                pszName = "PRJ";                break;            case AVCFileTABLE:                pszName = psInfo->hdr.psTableDef->szTableName;                break;            default:                break;            }            if (pszName && (psRead->numSections == 0 ||                    psRead->pasSections[iSect].eType != psInfo->eFileType ||                    !EQUAL(pszName, psRead->pasSections[iSect].pszName)))            {                iSect = _AVCIncreaseSectionsArray(&(psRead->pasSections),                                       &(psRead->numSections), 1);                psRead->pasSections[iSect].eType = psInfo->eFileType;                /* psRead->pasSections[iSect].pszName = CPLStrdup(psRead->pszCoverName); */                psRead->pasSections[iSect].pszName = CPLStrdup(pszName);                psRead->pasSections[iSect].pszFilename = CPLStrdup(psRead->pszCoverPath);                psRead->pasSections[iSect].nLineNum = psInfo->nStartLineNum;                psRead->pasSections[iSect].nFeatureCount = 0;            }            if (pszName && psRead->numSections)            {                /* increase feature count for current layer */                ++psRead->pasSections[iSect].nFeatureCount;            }        }    }}/********************************************************************** *                         _AVCE00ReadNextTableLine() * * Return the next line of the E00 representation of a info table. * * This function is used by AVCE00ReadNextLine() to generate table * output... it should never be called directly. **********************************************************************/static const char *_AVCE00ReadNextTableLine(AVCE00ReadPtr psInfo){    const char *pszLine = NULL;    AVCE00Section *psSect;    psSect = &(psInfo->pasSections[psInfo->iCurSection]);    CPLAssert(psSect->eType == AVCFileTABLE);    if (psInfo->iCurStep == AVC_GEN_NOTSTARTED)    {        /*---------------------------------------------------------         * Open table and start returning header         *--------------------------------------------------------*/        if (psInfo->eCoverType == AVCCoverPC ||            psInfo->eCoverType == AVCCoverPC2)        {            /*---------------------------------------------------------             * PC Arc/Info: We pass the DBF table's full filename + the             * Arc/Info table name (for E00 header)             *--------------------------------------------------------*/            char *pszFname;            pszFname = CPLStrdup(CPLSPrintf("%s%s", psInfo->pszInfoPath,                                                    psSect->pszFilename ));            psInfo->hFile = AVCBinReadOpen(pszFname, psSect->pszName,                                            psInfo->eCoverType, psSect->eType,                                           psInfo->psDBCSInfo);            CPLFree(pszFname);        }        else        {            /*---------------------------------------------------------             * AVCCoverV7 and AVCCoverWeird:              * We pass the INFO dir's path, and the Arc/Info table name             * will be searched in the arc.dir             *--------------------------------------------------------*/            psInfo->hFile = AVCBinReadOpen(psInfo->pszInfoPath,                                            psSect->pszName,                                            psInfo->eCoverType, psSect->eType,                                           psInfo->psDBCSInfo);        }        /* For some reason the file could not be opened... abort now.         * An error message should have already been produced by          * AVCBinReadOpen()         */        if (psInfo->hFile == NULL)            return NULL;        psInfo->iCurStep = AVC_GEN_TABLEHEADER;        pszLine = AVCE00GenTableHdr(psInfo->hGenInfo,                                    psInfo->hFile->hdr.psTableDef,                                    FALSE);    }            if (pszLine == NULL &&        psInfo->iCurStep == AVC_GEN_TABLEHEADER)    {        /*---------------------------------------------------------         * Continue table header         *--------------------------------------------------------*/        pszLine = AVCE00GenTableHdr(psInfo->hGenInfo,                                    psInfo->hFile->hdr.psTableDef,                                    TRUE);        if (pszLine == NULL)        {            /* Finished with table header... time to proceed with the             * table data.             * Reset the AVCE00GenInfo struct. so that it returns NULL,             * which will force reading of the first record from the              * file on the next call to AVCE00ReadNextLine()             */            AVCE00GenReset(psInfo->hGenInfo);            psInfo->iCurStep = AVC_GEN_TABLEDATA;        }    }    if (pszLine == NULL &&        psInfo->iCurStep == AVC_GEN_TABLEDATA)    {        /*---------------------------------------------------------         * Continue with records of data         *--------------------------------------------------------*/        pszLine = AVCE00GenTableRec(psInfo->hGenInfo,                                     psInfo->hFile->hdr.psTableDef->numFields,                                    psInfo->hFile->hdr.psTableDef->pasFieldDef,                                    psInfo->hFile->cur.pasFields,                                    TRUE);        if (pszLine == NULL)        {            /* Current record is finished generating... we need to read              * a new one from the file.             */            if (AVCBinReadNextObject(psInfo->hFile) != NULL)            {                pszLine = AVCE00GenTableRec(psInfo->hGenInfo,                                     psInfo->hFile->hdr.psTableDef->numFields,                                    psInfo->hFile->hdr.psTableDef->pasFieldDef,                                    psInfo->hFile->cur.pasFields,                                    FALSE);            }                    }    }    if (pszLine == NULL)    {        /*---------------------------------------------------------         * No more lines to output for this table ... Close it.         *--------------------------------------------------------*/        AVCBinReadClose(psInfo->hFile);        psInfo->hFile = NULL;        /*---------------------------------------------------------         * And now proceed to the next section...         * OK, I don't really like recursivity either... but it was         * the simplest way to do this, and anyways we should never         * have more than one level of recursivity.         *--------------------------------------------------------*/        if (psInfo->bReadAllSections)            psInfo->iCurSection++;        else            psInfo->iCurSection = psInfo->numSections;        psInfo->iCurStep = AVC_GEN_NOTSTARTED;        pszLine = AVCE00ReadNextLine(psInfo);    }    /*-----------------------------------------------------------------     * Check for errors... if any error happened, tehn return NULL     *----------------------------------------------------------------*/    if (CPLGetLastErrorNo() != 0)    {        pszLine = NULL;    }    return pszLine;}/********************************************************************** *                          AVCE00ReadNextLine() * * Returns the next line of the E00 representation of the coverage * or NULL when there are no more lines to generate, or if an error happened. * The returned line is a null-terminated string, and it does not * include a newline character. * * Call CPLGetLastErrorNo() after calling AVCE00ReadNextLine() to  * make sure that the line was generated succesfully. * * Note that AVCE00ReadNextLine() returns a reference to an * internal buffer whose contents will * be valid only until the next call to this function.  The caller should * not attempt to free() the returned pointer. **********************************************************************/const char *AVCE00ReadNextLine(AVCE00ReadPtr psInfo){    const char *pszLine = NULL;    AVCE00Section *psSect;    CPLErrorReset();    /*-----------------------------------------------------------------     * Check if we have finished generating E00 output     *----------------------------------------------------------------*/    if (psInfo->iCurSection >= psInfo->numSections)        return NULL;    psSect = &(psInfo->pasSections[psInfo->iCurSection]);    /*-----------------------------------------------------------------     * For simplicity, the generation of table output is in a separate     * function.     *----------------------------------------------------------------*/    if (psSect->eType == AVCFileTABLE)    {        return _AVCE00ReadNextTableLine(psInfo);    }    if (psSect->eType == AVCFileUnknown)    {    /*-----------------------------------------------------------------     * Section not attached to any file, used to hold header lines     * or section separators, etc... just return the line directly and     * move pointer to the next section.     *----------------------------------------------------------------*/        pszLine = psSect->pszName;        if (psInfo->bReadAllSections)            psInfo->iCurSection++;        else            psInfo->iCurSection = psInfo->numSections;        psInfo->iCurStep = AVC_GEN_NOTSTARTED;    }    /*=================================================================     *              ARC, PAL, CNT, LAB, TOL and TXT     *================================================================*/    else if (psInfo->iCurStep == AVC_GEN_NOTSTARTED &&             (psSect->eType == AVCFileARC ||              psSect->eType == AVCFilePAL ||              psSect->eType == AVCFileRPL ||              psSect->eType == AVCFileCNT ||              psSect->eType == AVCFileLAB ||              psSect->eType == AVCFileTOL ||              psSect->eType == AVCFileTXT ||              psSect->eType == AVCFileTX6 ||              psSect->eType == AVCFileRXP   ) )    {    /*-----------------------------------------------------------------     * Start processing of an ARC, PAL, CNT, LAB or TOL section:     *   Open the file, get ready to read the first object from the      *   file, and return the header line.     *  If the file fails to open then we will return NULL.     *----------------------------------------------------------------*/        psInfo->hFile = AVCBinReadOpen(psInfo->pszCoverPath,                                        psSect->pszFilename,                                        psInfo->eCoverType, psSect->eType,                                       psInfo->psDBCSInfo);        /*-------------------------------------------------------------         * For some reason the file could not be opened... abort now.         * An error message should have already been produced by          * AVCBinReadOpen()         *------------------------------------------------------------*/        if (psInfo->hFile == NULL)            return NULL;        pszLine = AVCE00GenStartSection(psInfo->hGenInfo,                                         psSect->eType, psSect->pszName);        /*-------------------------------------------------------------         * Reset the AVCE00GenInfo struct. so that it returns NULL,         * which will force reading of the first object from the          * file on the next call to AVCE00ReadNextLine()         *------------------------------------------------------------*/        AVCE00GenReset(psInfo->hGenInfo);        psInfo->iCurStep = AVC_GEN_DATA;    }    else if (psInfo->iCurStep == AVC_GEN_DATA &&             (psSect->eType == AVCFileARC ||              psSect->eType == AVCFilePAL ||              psSect->eType == AVCFileRPL ||              psSect->eType == AVCFileCNT ||              psSect->eType == AVCFileLAB ||              psSect->eType == AVCFileTOL ||              psSect->eType == AVCFileTXT ||              psSect->eType == AVCFileTX6 ||              psSect->eType == AVCFileRXP    ) )    {    /*---------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩麻豆91| 精一区二区三区| 九一九一国产精品| jlzzjlzz欧美大全| 欧美成人一区二区三区片免费| 欧美高清一级片在线观看| 日日夜夜免费精品| 色乱码一区二区三区88| 国产午夜精品美女毛片视频| 午夜精品免费在线观看| 96av麻豆蜜桃一区二区| 久久久久久久久久久99999| 天天色天天操综合| 色婷婷综合中文久久一本| 久久九九国产精品| 久久99国产精品免费| 欧美二区三区的天堂| 亚洲美女屁股眼交3| 99久久777色| 亚洲欧洲精品一区二区三区不卡| 久久国产欧美日韩精品| 91精品国产色综合久久| 亚洲国产日韩a在线播放性色| 波多野结衣精品在线| 国产亚洲精品资源在线26u| 美女免费视频一区二区| 欧美精品xxxxbbbb| 五月激情丁香一区二区三区| 欧美在线播放高清精品| 亚洲品质自拍视频网站| 成人av资源下载| 中文字幕在线不卡一区| 99精品热视频| 综合色天天鬼久久鬼色| 91免费观看在线| 一区二区三区四区中文字幕| 一本大道久久精品懂色aⅴ| 中文字幕在线一区二区三区| 99久久久免费精品国产一区二区| 中文字幕在线不卡| 一本久久a久久精品亚洲| 亚洲欧美乱综合| 欧美午夜精品一区二区三区| 亚洲国产视频a| 欧美一级欧美三级| 麻豆精品一区二区三区| 久久一二三国产| 成人app下载| 一区二区三区久久| 7777精品伊人久久久大香线蕉经典版下载| 亚洲成人av电影| 欧美一级精品在线| 国内外成人在线视频| 欧美国产成人精品| 在线观看欧美日本| 免费成人性网站| 亚洲国产高清在线| 欧美日韩午夜精品| 久久99精品久久久久久久久久久久| 久久综合色婷婷| 不卡一区中文字幕| 亚洲高清免费观看高清完整版在线观看| 欧美日韩精品三区| 国产高清视频一区| 亚洲一级二级三级| 精品第一国产综合精品aⅴ| www.66久久| 日韩**一区毛片| 国产精品久久久久影院| 欧美日韩精品系列| 粉嫩绯色av一区二区在线观看| 亚洲综合精品自拍| 久久蜜桃香蕉精品一区二区三区| 色婷婷综合久久久久中文一区二区 | 久久综合色8888| 色哟哟一区二区三区| 久久精品国产色蜜蜜麻豆| 中文字幕不卡在线观看| 欧美精品久久一区二区三区| 成人午夜电影网站| 喷白浆一区二区| 亚洲情趣在线观看| 久久久精品2019中文字幕之3| 在线亚洲精品福利网址导航| 精久久久久久久久久久| 亚洲网友自拍偷拍| 17c精品麻豆一区二区免费| 精品少妇一区二区三区视频免付费| 色综合久久天天| 国产91精品露脸国语对白| 免播放器亚洲一区| 亚洲一区二区三区视频在线播放| 国产午夜精品理论片a级大结局| 欧美久久久久久久久| 色哟哟在线观看一区二区三区| 国产一区二区三区av电影| 日韩电影免费一区| 亚洲成a人片在线不卡一二三区| 国产精品美女久久久久久久网站| 欧美一区二区福利在线| 色婷婷激情综合| 成人国产精品视频| 国产成人av自拍| 国产精品亚洲一区二区三区在线| 婷婷综合久久一区二区三区| 亚洲综合另类小说| 亚洲黄色小视频| 亚洲色图清纯唯美| 成人欧美一区二区三区1314| 欧美国产日本韩| 国产欧美久久久精品影院| 久久女同互慰一区二区三区| 精品国产乱码久久久久久久| 欧美一区二区三区免费大片| 在线播放欧美女士性生活| 欧美日韩黄色一区二区| 欧美日韩一区在线| 欧美日韩国产123区| 欧美日韩免费电影| 欧美高清视频一二三区 | 日韩欧美二区三区| 日韩欧美一级二级| 精品久久国产老人久久综合| 欧美成人aa大片| 久久久高清一区二区三区| 久久久精品蜜桃| 国产日韩影视精品| 中文字幕一区二区三区精华液| 欧美经典一区二区| 亚洲欧美自拍偷拍色图| 亚洲激情av在线| 亚洲bt欧美bt精品777| 日本美女一区二区| 国产麻豆视频一区二区| 成人免费黄色大片| 欧美影院一区二区三区| 制服丝袜在线91| 26uuu亚洲婷婷狠狠天堂| 国产欧美视频在线观看| 亚洲欧美另类小说视频| 天堂一区二区在线| 国产精品一二三区在线| 99久久国产综合色|国产精品| 欧日韩精品视频| 精品久久久久一区二区国产| 国产精品乱人伦中文| 亚洲国产欧美一区二区三区丁香婷| 日韩精品成人一区二区三区| 国产美女精品人人做人人爽| 91久久线看在观草草青青| 欧美一级生活片| 中文成人av在线| 五月天激情小说综合| 顶级嫩模精品视频在线看| 欧美午夜免费电影| 欧美国产欧美综合| 天天操天天综合网| 成人午夜激情片| 日韩视频一区在线观看| 亚洲欧美在线视频| 免费欧美日韩国产三级电影| 97se亚洲国产综合自在线不卡| 欧美一级日韩一级| 伊人性伊人情综合网| 国产一区二区三区高清播放| 欧美日韩一区二区三区四区| 国产欧美精品区一区二区三区| 亚洲第一福利视频在线| 成人福利电影精品一区二区在线观看| 欧美日韩aaaaa| 亚洲欧洲制服丝袜| 国产一区二区三区在线观看免费| 欧美日韩一区二区三区高清| 国产精品理论片在线观看| 久久狠狠亚洲综合| 欧美日韩国产精品成人| 亚洲日本va午夜在线影院| 国产精品77777| 91麻豆精品91久久久久久清纯| 亚洲图片欧美激情| 高清国产一区二区| 精品国产一区二区三区久久久蜜月| 亚洲自拍另类综合| voyeur盗摄精品| 国产精品视频在线看| 久久av中文字幕片| 正在播放亚洲一区| 亚洲大片在线观看| 欧美日韩中文一区| 伊人色综合久久天天人手人婷| 成人av第一页| 国产精品久久福利| 成人av电影在线观看| 国产精品日日摸夜夜摸av| 国产精品综合一区二区三区| 欧美成人aa大片| 国产一区二区精品久久91| 欧美大片拔萝卜| 国产专区欧美精品| 国产三级欧美三级日产三级99 |