xref: /aosp_15_r20/external/musl/src/search/tfind.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1 #include <search.h>
2 #include "tsearch.h"
3 
tfind(const void * key,void * const * rootp,int (* cmp)(const void *,const void *))4 void *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