| | da[0] = 0;
pa[0] = (struct rtrb_node *) &tree->rtrb_root;
k = 1;
if (tree->rtrb_root != NULL)
for (p = tree->rtrb_root; ; p = p->rtrb_link[dir]) {
int cmp = tree->rtrb_compare (item, p->rtrb_data, tree->rtrb_param);
if (cmp == 0)
return &p->rtrb_data;
pa[k] = p;
da[k++] = dir = cmp > 0;
if (dir == 0) {
if (p->rtrb_link[0] == NULL)
break;
} else /* dir == 1 */ {
if (p->rtrb_rtag == RTRB_THREAD)
break;
}
}
else {
p = (struct rtrb_node *) &tree->rtrb_root;
dir = 0;
}
|