19#include <gwenhywfar/debug.h>
20#include <gwenhywfar/text.h>
117 const char *optionId;
119 const char *givenValue=
NULL;
125 if (givenValue==
NULL)
148 GWB_KeyValuePair_List_Del(kvp);
159 const char *optionId;
162 fprintf(stdout,
" option %s: ", optionId);
173 "Value \"%s\" (given value \"%s\") is not a valid choice for option \"%s\"",
174 s, givenValue, optionId);
185 fprintf(stdout,
"%s\n", s);
195 const char *optionId;
196 const char *definePrefix;
200 fprintf(stdout,
" option %s: ", optionId);
220 const char *sCurrentGivenValue;
223 if (sCurrentGivenValue) {
226 "Value \"%s\" is not a valid choice for option \"%s\"",
227 sCurrentGivenValue, optionId);
235 fprintf(stdout,
"%s ", sCurrentGivenValue);
241 s=sCurrentGivenValue;
256 fprintf(stdout,
"\n");
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
void GWEN_Buffer_free(GWEN_BUFFER *bf)
int GWEN_Buffer_AppendString(GWEN_BUFFER *bf, const char *buffer)
uint32_t GWEN_Buffer_GetUsedBytes(const GWEN_BUFFER *bf)
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
int GWEN_Buffer_AppendByte(GWEN_BUFFER *bf, char c)
GWEN_DB_NODE * GWB_Context_GetVars(const GWB_CONTEXT *ctx)
struct GWB_CONTEXT GWB_CONTEXT
int GWEN_DB_SetCharValue(GWEN_DB_NODE *n, uint32_t flags, const char *path, const char *val)
#define GWEN_DB_FLAGS_OVERWRITE_VARS
#define DBG_INFO(dbg_logger, format, args...)
#define DBG_ERROR(dbg_logger, format, args...)
#define GWEN_ERROR_INVALID
#define GWEN_ERROR_GENERIC
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
const char * GWB_KeyValuePair_GetValue(const GWB_KEYVALUEPAIR *kvp)
void GWB_KeyValuePair_free(GWB_KEYVALUEPAIR *kvp)
GWB_KEYVALUEPAIR * GWB_KeyValuePair_List_GetFirstByKey(const GWB_KEYVALUEPAIR_LIST *kvpList, const char *key)
struct GWB_KEYVALUEPAIR GWB_KEYVALUEPAIR
GWB_OPTION * GWB_Option_new(const char *id)
const char * GWB_Option_GetId(const GWB_OPTION *option)
void GWB_Option_SetOptionType(GWB_OPTION *option, int i)
int GWB_Option_GetOptionType(const GWB_OPTION *option)
void GWB_Option_SetDefinePrefix(GWB_OPTION *option, const char *s)
int GWB_OptionType_fromString(const char *s)
const char * GWB_Option_GetDefinePrefix(const GWB_OPTION *option)
int GWB_Option_IsValidChoice(const GWB_OPTION *option, const char *s)
const char * GWB_Option_GetDefaultValue(const GWB_OPTION *option)
void GWB_Option_AddAlias(GWB_OPTION *option, const char *name, const char *value)
void GWB_Option_SetDefaultValue(GWB_OPTION *option, const char *s)
const char * GWB_Option_GetAlias(const GWB_OPTION *option, const char *name)
GWEN_STRINGLIST * GWB_Option_GetChoiceList(const GWB_OPTION *option)
@ GWB_OptionType_StringList
struct GWB_OPTION GWB_OPTION
int _checkStringOption(GWB_OPTION *option, GWB_CONTEXT *currentContext, const char *givenValue)
int GWB_ParseOption(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
int _checkAgainstGivenOption(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWB_OPTION *option)
int _checkStringListOption(GWB_PROJECT *project, GWB_OPTION *option, GWB_CONTEXT *currentContext, const char *givenValue)
GWEN_BUFFER * GWB_Parser_ReadNamedXmlDataIntoBufferAndExpand(GWEN_DB_NODE *db, GWEN_XMLNODE *xmlNode, const char *elem)
GWEN_BUFFER * GWB_Parser_ReadXmlDataIntoBufferAndExpand(GWEN_DB_NODE *db, GWEN_XMLNODE *xmlNode)
void GWB_Project_AddOption(GWB_PROJECT *project, GWB_OPTION *option)
GWB_KEYVALUEPAIR_LIST * GWB_Project_GetGivenOptionList(const GWB_PROJECT *project)
void GWB_Project_SetDefine(GWB_PROJECT *project, const char *name, const char *value)
struct GWB_PROJECT GWB_PROJECT
void GWEN_StringList_free(GWEN_STRINGLIST *sl)
GWEN_STRINGLIST * GWEN_StringList_fromString2(const char *str, const char *delimiters, int checkDouble, uint32_t flags)
const char * GWEN_StringListEntry_Data(const GWEN_STRINGLISTENTRY *se)
GWEN_STRINGLISTENTRY * GWEN_StringListEntry_Next(const GWEN_STRINGLISTENTRY *se)
void GWEN_StringList_AppendStringList(GWEN_STRINGLIST *slDest, const GWEN_STRINGLIST *slSource, int checkDouble)
GWEN_STRINGLISTENTRY * GWEN_StringList_FirstEntry(const GWEN_STRINGLIST *sl)
struct GWEN_STRINGLISTENTRYSTRUCT GWEN_STRINGLISTENTRY
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST
#define GWEN_TEXT_FLAGS_DEL_QUOTES
#define GWEN_TEXT_FLAGS_CHECK_BACKSLASH
const char * GWEN_XMLNode_GetProperty(const GWEN_XMLNODE *n, const char *name, const char *defaultValue)
GWEN_XMLNODE * GWEN_XMLNode_FindFirstTag(const GWEN_XMLNODE *n, const char *tname, const char *pname, const char *pvalue)
void GWEN_XMLNode_Dump(const GWEN_XMLNODE *n, int ind)
GWEN_XMLNODE * GWEN_XMLNode_FindNextTag(const GWEN_XMLNODE *n, const char *tname, const char *pname, const char *pvalue)
const char * GWEN_XMLNode_GetCharValue(const GWEN_XMLNODE *n, const char *name, const char *defValue)
int GWEN_XMLNode_ExpandProperties(const GWEN_XMLNODE *n, GWEN_DB_NODE *dbVars)
struct GWEN__XMLNODE GWEN_XMLNODE