xref: /third_party/musl/src/search/tfind.c (revision 570af302)
1#include <search.h>
2#include "tsearch.h"
3
4void *tfind(const void *key, void *const *rootp,
5	int(*cmp)(const void *, const void *))
6{
7	if (!rootp)
8		return 0;
9
10	struct node *n = *rootp;
11	for (;;) {
12		if (!n)
13			break;
14		int c = cmp(key, n->key);
15		if (!c)
16			break;
17		n = n->a[c>0];
18	}
19	return n;
20}
21