*/
#ifdef HAVE_TYPEOF
#define foreach_alist(var, list) \
- for((var)=(typeof(var))(list)->first(); (var); (var)=(typeof(var))(list)->next() )
+ for((var)=(TYPEOF_FUNC(var))(list)->first(); (var); (var)=(TYPEOF_FUNC(var))(list)->next() )
#else
#define foreach_alist(var, list) \
for((*((void **)&(var))=(void*)((list)->first())); \
#ifdef HAVE_TYPEOF
#define foreach_alist_index(inx, var, list) \
- for(inx=0; ((var)=(typeof(var))(list)->get(inx)); inx++ )
+ for(inx=0; ((var)=(TYPEOF_FUNC(var))(list)->get(inx)); inx++ )
#else
#define foreach_alist_index(inx, var, list) \
for(inx=0; ((*((void **)&(var))=(void*)((list)->get(inx)))); inx++ )
*/
#ifdef HAVE_TYPEOF
#define foreach_dlist(var, list) \
- for((var)=NULL; ((var)=(typeof(var))(list)->next(var)); )
+ for((var)=NULL; ((var)=(TYPEOF_FUNC(var))(list)->next(var)); )
#else
#define foreach_dlist(var, list) \
for((var)=NULL; (*((void **)&(var))=(void*)((list)->next(var))); )
*
*/
-/*
+/*
* BIG_MALLOC is to provide a large malloc service to htable
*/
#define BIG_MALLOC
*/
#ifdef HAVE_TYPEOF
#define foreach_htable(var, tbl) \
- for((var)=(typeof(var))((tbl)->first()); \
+ for((var)=(TYPEOF_FUNC(var))((tbl)->first()); \
(var); \
- (var)=(typeof(var))((tbl)->next()))
+ (var)=(TYPEOF_FUNC(var))((tbl)->next()))
#else
#define foreach_htable(var, tbl) \
for((*((void **)&(var))=(void *)((tbl)->first())); \
union key_val {
char *key; /* char key */
uint64_t ikey; /* integer key */
-};
+};
struct hlink {
void *next; /* next hash item */
/* Loop through each resource of type, returning in var */
#ifdef HAVE_TYPEOF
#define foreach_res(var, type) \
- for((var)=NULL; ((var)=(typeof(var))GetNextRes((type), (RES *)var));)
+ for((var)=NULL; ((var)=(TYPEOF_FUNC(var))GetNextRes((type), (RES *)var));)
#else
#define foreach_res(var, type) \
for(var=NULL; (*((void **)&(var))=(void *)GetNextRes((type), (RES *)var));)
*/
#ifdef HAVE_TYPEOF
#define foreach_rblist(var, tree) \
- for (((var)=(typeof(var))(tree)->first()); (var); ((var)=(typeof(var))(tree)->next(var)))
+ for (((var)=(TYPEOF_FUNC(var))(tree)->first()); (var); ((var)=(TYPEOF_FUNC(var))(tree)->next(var)))
#else
#define foreach_rblist(var, tree) \
for ((*((void **)&(var))=(void*)((tree)->first())); (var); (*((void **)&(var))=(void*)((tree)->next(var))))