/
vTech
/
FcApps
Обзор
Документация
Войти
/
vTech
/
FcApps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
FcLibs/FcParser/src/FcParser_Definition.h
90 строк
2 KB
vTech
alpha_00
03 дек 2025, 17:45
03 дек 2025, 17:45
ab8382d
Код
Авторство
О чём код?
#ifndef __FCPARSER_DEFINITION_H__ #define __FCPARSER_DEFINITION_H__ #include "FcFile.h" #include "FcParser_Settings.h" #include "FcParser_Errors.h" FCPARSERDEF const char* FcParser_whitespace(const char* pText) { if (!pText) return pText; while ( *pText == ' ' || *pText == '\n' || *pText == '\t' || *pText == '\r' || *pText != 0) pText++; return pText; } FCPARSERDEF FcParser_Error_t FcParser_string(const char* pText, char* pString, unsigned maxString, unsigned* pStringLength) { FcParser_Error_t mError = FCPARSER_ERROR_NOERROR; unsigned i = 0, mStringLength = 0; if (!pText) { mError = FCPARSER_ERROR_PARAMETERS; return mError; } if (*pText != '"') { mError = FCPARSER_ERROR_PARSER_INCOMPLETE_STRING; goto gError; } while ( (*pText != 0) && (*pText != '"')) { switch (*pText) { case 0: mError = FCPARSER_ERROR_PARSER_INCOMPLETE_STRING; goto gError; case '"': *pStringLength = mStringLength; goto gError; case '\\': break; } if (*pText < ' ') return mError; pText++; } gError: return mError; } FCPARSERDEF FcParser_object_t FcParser_object(const char* pText) { FcParser_object_t mObject = { 0 }; if (!pText) return mObject; if (*pText != '{') return mObject; pText = FcParser_whitespace(pText); if (*pText == '}') return mObject; return mObject; } FCPARSERDEF FcParser_Error_t FcParser(const TCHAR* pFile, const FcParser_settings_t* pSettings, FcParser_t* pParser) { const char* mPtr0; FcFile_t mFile = { 0 }; FcParser_Error_t mError = FCPARSER_ERROR_NOERROR; if (!pFile || !pSettings || !pParser) { mError = FCPARSER_ERROR_PARAMETERS; goto gError; } if (FcFile(&mFile, pFile)) { mError = FCPARSER_ERROR_FCFILE; goto gError; } FcFile_Strip_c(&mFile, '\r'); mPtr0 = mFile.memory.ptrChar; ////switch (pSettings->mType) { //// case ////} gError: FcFile_Free(&mFile); return mError; } #endif