33#include <gwenhywfar/gwenhywfarapi.h>
34#include <gwenhywfar/misc.h>
35#include "stringlist2_p.h"
79 nsl2->senseCase=sl2->senseCase;
315 if (sl2->senseCase) {
326 if (strcasecmp(s, t)) {
351 if (sl2->senseCase) {
368 if (strcasecmp(s, t)==0)
500 fprintf(stderr,
"String %d: \"%s\" [%d]\n", i, t,
507 fprintf(stderr,
"Empty string list.\n");
const char * GWEN_DB_GetCharValue(GWEN_DB_NODE *n, const char *path, int idx, const char *defVal)
int GWEN_DB_DeleteVar(GWEN_DB_NODE *n, const char *path)
int GWEN_DB_SetCharValue(GWEN_DB_NODE *n, uint32_t flags, const char *path, const char *val)
struct GWEN_DB_NODE GWEN_DB_NODE
#define DBG_INFO(dbg_logger, format,...)
struct GWEN_LIST_ITERATOR GWEN_LIST_ITERATOR
#define GWEN_FREE_OBJECT(varname)
#define GWEN_NEW_OBJECT(typ, varname)
GWEN_REFPTR * GWEN_RefPtr_new(void *dp, GWEN_REFPTR_INFO *rpi)
GWEN_REFPTR_INFO * GWEN_RefPtrInfo_new(void)
void GWEN_RefPtrInfo_SetFreeFn(GWEN_REFPTR_INFO *rpi, GWEN_REFPTR_INFO_FREE_FN f)
void GWEN_RefPtr_AddFlags(GWEN_REFPTR *rp, uint32_t fl)
void * GWEN_RefPtr_GetData(const GWEN_REFPTR *rp)
void GWEN_RefPtrInfo_free(GWEN_REFPTR_INFO *rpi)
struct GWEN_REFPTR_INFO GWEN_REFPTR_INFO
#define GWEN_REFPTR_FLAGS_AUTODELETE
void(* GWEN_REFPTR_INFO_FREE_FN)(void *dp)
struct GWEN_REFPTR GWEN_REFPTR
GWEN_LIST * GWEN_List_dup(const GWEN_LIST *l)
void GWEN_List_PushBackRefPtr(GWEN_LIST *l, GWEN_REFPTR *rp)
GWEN_LIST_ITERATOR * GWEN_List_Last(const GWEN_LIST *l)
void GWEN_List_SetRefPtrInfo(GWEN_LIST *l, GWEN_REFPTR_INFO *rpi)
GWEN_LIST * GWEN_List_new(void)
GWEN_LIST_ITERATOR * GWEN_List_First(const GWEN_LIST *l)
GWEN_REFPTR * GWEN_ListIterator_DataRefPtr(GWEN_LIST_ITERATOR *li)
void GWEN_ListIterator_free(GWEN_LIST_ITERATOR *li)
void GWEN_ListIterator_IncLinkCount(GWEN_LIST_ITERATOR *li)
void GWEN_List_free(GWEN_LIST *l)
GWEN_REFPTR * GWEN_ListIterator_NextRefPtr(GWEN_LIST_ITERATOR *li)
void * GWEN_ListIterator_Next(GWEN_LIST_ITERATOR *li)
void GWEN_List_PushFrontRefPtr(GWEN_LIST *l, GWEN_REFPTR *rp)
void GWEN_List_Erase(GWEN_LIST *l, GWEN_LIST_ITERATOR *it)
void * GWEN_ListIterator_Previous(GWEN_LIST_ITERATOR *li)
void * GWEN_ListIterator_Data(GWEN_LIST_ITERATOR *li)
unsigned int GWEN_List_GetSize(const GWEN_LIST *l)
unsigned int GWEN_ListIterator_GetLinkCount(const GWEN_LIST_ITERATOR *li)
GWEN_REFPTR_INFO * GWEN_List_GetRefPtrInfo(const GWEN_LIST *l)
GWEN_STRINGLIST2 * GWEN_StringList2_new(void)
const char * GWEN_StringList2Iterator_Data(GWEN_STRINGLIST2_ITERATOR *li)
void GWEN_StringList2_Dump(const GWEN_STRINGLIST2 *sl2)
GWEN_STRINGLIST2_ITERATOR * GWEN_StringList2_First(const GWEN_STRINGLIST2 *l)
unsigned int GWEN_StringList2Iterator_GetLinkCount(const GWEN_STRINGLIST2_ITERATOR *li)
void GWEN_StringList2_SetSenseCase(GWEN_STRINGLIST2 *sl2, int i)
const char * GWEN_StringList2Iterator_Previous(GWEN_STRINGLIST2_ITERATOR *li)
GWEN_STRINGLIST2_ITERATOR * GWEN_StringList2_Last(const GWEN_STRINGLIST2 *l)
const char * GWEN_StringList2Iterator_Next(GWEN_STRINGLIST2_ITERATOR *li)
int GWEN_StringList2_toDb(GWEN_STRINGLIST2 *sl2, GWEN_DB_NODE *db, const char *name)
int GWEN_StringList2_toXml(GWEN_STRINGLIST2 *sl2, GWEN_XMLNODE *node)
int GWEN_StringList2_AppendString(GWEN_STRINGLIST2 *sl2, const char *s, int take, GWEN_STRINGLIST2_INSERTMODE m)
int GWEN_StringList2_HasString(const GWEN_STRINGLIST2 *sl2, const char *s)
const char * GWEN_StringList2_GetStringAt(const GWEN_STRINGLIST2 *sl2, int idx)
int GWEN_StringList2_RemoveString(GWEN_STRINGLIST2 *sl2, const char *s)
GWEN_STRINGLIST2 * GWEN_StringList2_fromXml(GWEN_XMLNODE *node, GWEN_STRINGLIST2_INSERTMODE m)
int GWEN_StringList2_InsertString(GWEN_STRINGLIST2 *sl2, const char *s, int take, GWEN_STRINGLIST2_INSERTMODE m)
GWEN_REFPTR * GWEN_StringList2Iterator_DataRefPtr(GWEN_STRINGLIST2_ITERATOR *li)
GWEN_STRINGLIST2 * GWEN_StringList2_dup(GWEN_STRINGLIST2 *sl2)
GWEN_STRINGLIST2 * GWEN_StringList2_fromDb(GWEN_DB_NODE *db, const char *name, GWEN_STRINGLIST2_INSERTMODE m)
GWEN_STRINGLIST2_ITERATOR * GWEN_StringList2__GetString(const GWEN_STRINGLIST2 *sl2, const char *s)
void GWEN_StringList2Iterator_free(GWEN_STRINGLIST2_ITERATOR *li)
unsigned int GWEN_StringList2_GetCount(const GWEN_STRINGLIST2 *l)
void GWEN_StringList2_free(GWEN_STRINGLIST2 *sl2)
struct GWEN_STRINGLIST2 GWEN_STRINGLIST2
GWEN_LIST_ITERATOR GWEN_STRINGLIST2_ITERATOR
GWEN_STRINGLIST2_INSERTMODE
@ GWEN_StringList2_IntertMode_NoDouble
@ GWEN_StringList2_IntertMode_AlwaysAdd
@ GWEN_StringList2_IntertMode_Reuse
GWEN_XMLNODE * GWEN_XMLNode_GetFirstTag(const GWEN_XMLNODE *n)
GWEN_XMLNODE * GWEN_XMLNode_GetNextTag(const GWEN_XMLNODE *n)
GWEN_XMLNODE * GWEN_XMLNode_GetFirstData(const GWEN_XMLNODE *n)
const char * GWEN_XMLNode_GetData(const GWEN_XMLNODE *n)
void GWEN_XMLNode_SetCharValue(GWEN_XMLNODE *n, const char *name, const char *value)
struct GWEN__XMLNODE GWEN_XMLNODE