1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dknlnl-oneLineTemplate

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
OneLineTemplate.h 1.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
dknlnl Отправлено 12.12.2014 18:27 a9f9458
#ifndef ONELINETEMPLATE_H
#define ONELINETEMPLATE_H
#define CONSTTEXTLEN 256
typedef enum {
DATATYPE_CONSTTEXT,
DATATYPE_VARINDEX
} OneLineTemplateDataType;
typedef struct OneLineTemplate {
OneLineTemplateDataType dataType;
union
{
struct
{
size_t varIndex; //1 is the first valid varIndex, 0 is reserve for undefined var
char varName[CONSTTEXTLEN-4];
}var;
char constText[CONSTTEXTLEN];
}data;
struct OneLineTemplate *next;
} OneLineTemplate;
typedef struct {
const char *varName;
char varValue[128];
}SymTable;
OneLineTemplate* OneLineTemplateCreate(const char* text, const SymTable *symTable, size_t symTableLen);
void OneLineTemplateRelase(OneLineTemplate *tpl);
int OneLineTemplateExpand(const OneLineTemplate *tpl, const SymTable *symTable, size_t symTableLen, char *expandText, size_t expandTextLen);
int OneLineTemplateVarify(const OneLineTemplate *tpl, const SymTable *symTable, size_t symTableLen, const char *text);
#endif /* end of include guard: ONELINETEMPLATE_H */

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/dknlnl-oneLineTemplate.git
git@api.gitlife.ru:oschina-mirror/dknlnl-oneLineTemplate.git
oschina-mirror
dknlnl-oneLineTemplate
dknlnl-oneLineTemplate
master