for (q = NULL, p = tree->pbst_root; p != NULL; q = p, p = p->pbst_link[dir]) { int cmp = tree->pbst_compare (item, p->pbst_data, tree->pbst_param); if (cmp == 0) return &p->pbst_data; dir = cmp > 0; }