1234567891011121314151617181920 |
- #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;
- }
|