29 int (*compar)(
const void *,
const void *))
37 while (*rootp !=
NULL)
41 if ((r = (*compar)(vkey, (*rootp)->key)) == 0)
49 q = malloc (
sizeof(
node_t));
54 q->llink = q->rlink =
NULL;
65 int (*compar)(
const void *,
const void *))
72 while (*rootp !=
NULL)
76 if ((r = (*compar)(vkey, (*rootp)->key)) == 0)
96 void **__restrict vrootp,
97 int (*compar)(
const void *,
const void *))
105 if ((rootp ==
NULL) || ((p = *rootp) ==
NULL))
108 while ((cmp = (*compar)(vkey, (*rootp)->key)) != 0)
118 if ((q = (*rootp)->llink) ==
NULL)
124 if (r->llink ==
NULL)
131 for (q = r->llink; q->llink !=
NULL; q = r->llink)
134 q->llink = (*rootp)->llink;
135 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 *))