22 #ifndef __EKG_DYNSTUFF_H
23 #define __EKG_DYNSTUFF_H
79 #ifndef EKG2_WIN32_NOFUNCTION
80 #define LIST_ADD_COMPARE(x, type) int x(const type data1, const type data2)
81 #define LIST_ADD_SORTED(list, data, comp) list_add_sorted(list, data, (void *) comp)
82 #define LIST_ADD_SORTED2(list, data, comp) list_add_sorted3((list_t *) (void *) list, (list_t) data, (void *) comp)
83 #define LIST_ADD_BEGINNING2(list, data) list_add_beginning3((list_t *) (void *) list, (list_t) data)
84 #define LIST_ADD2(list, data) list_add3((list_t *) (void *) list, (list_t) data)
86 #define LIST_COUNT2(list) list_count((list_t) list)
87 #define LIST_GET_NTH2(list, id) list_get_nth3((list_t) list, id)
88 #define LIST_RESORT(list, comp) list_resort(list, (void *) comp)
89 #define LIST_RESORT2(list, comp) list_resort3((list_t *) (void *) list, (void *) comp)
91 #define LIST_REMOVE(list, data, func) list_remove2(list, data, (void *) func)
92 #define LIST_REMOVE2(list, elem, func) list_remove3((list_t *) (void *) list, (list_t) elem, (void *) func)
93 #define LIST_UNLINK2(list, elem) list_unlink3((list_t *) (void *) list, (list_t) elem)
94 #define LIST_FREE_ITEM(x, type) void x(type data)
96 #define LIST_DESTROY(list, func) list_destroy2(list, (void *) func)
97 #define LIST_DESTROY2(list, func) list_destroy3((list_t) list, (void *) func)
103 void *
list_add3(list_t *list, list_t new_);
105 void *
list_add_sorted3(list_t *list, list_t new_,
int (*comparision)(
void *,
void *));
111 void list_resort(list_t *list,
int (*comparision)(
void *,
void *));
112 void list_resort3(list_t *list,
int (*comparision)(
void *,
void *));
114 int list_remove(list_t *list,
void *data,
int free_data);
115 int list_remove2(list_t *list,
void *data,
void (*func)(
void *));
116 void *
list_remove3(list_t *list, list_t elem,
void (*func)(list_t));
117 void *
list_remove3i(list_t *list, list_t elem,
void (*func)(list_t data));
152 #ifndef EKG2_WIN32_NOFUNCTION
167 char **
array_make(
const char *
string,
const char *sep,
int max,
int trim,
int quotes);
182 const char *
itoa(
long int i);
183 const char *
cssfind(
const char *haystack,
const char *needle,
const char sep,
int caseinsensitive);
187 char *
escape(
const char *src);