35 int (*compar)(
const void *,
const void *))
43 while (*rootp !=
NULL)
47 if ((r = (*compar)(vkey, (*rootp)->key)) == 0)
55 q = malloc (
sizeof(
node_t));
60 q->llink = q->rlink =
NULL;
71 int (*compar)(
const void *,
const void *))
78 while (*rootp !=
NULL)
82 if ((r = (*compar)(vkey, (*rootp)->key)) == 0)
102 void **__restrict vrootp,
103 int (*compar)(
const void *,
const void *))
111 if ((rootp ==
NULL) || ((p = *rootp) ==
NULL))
114 while ((cmp = (*compar)(vkey, (*rootp)->key)) != 0)
124 if ((q = (*rootp)->llink) ==
NULL)
130 if (r->llink ==
NULL)
137 for (q = r->llink; q->llink !=
NULL; q = r->llink)
140 q->llink = (*rootp)->llink;
141 q->rlink = (*rootp)->rlink;
void * tfind(const void *vkey, void *const *vrootp, int(*compar)(const void *, const void *))
void * tdelete(const void *__restrict vkey, void **__restrict vrootp, int(*compar)(const void *, const void *))
void * tsearch(const void *vkey, void **vrootp, int(*compar)(const void *, const void *))
additional automatic macros for MHD_config.h