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