root/src/system/libroot/posix/musl/search/tfind.c
#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;
        }
}