static struct interval_node *interval_next(struct interval_node *node) { if (!node) return NULL; if (node->in_right) return interval_first(node->in_right); while (node->in_parent && node_is_right_child(node)) node = node->in_parent; return node->in_parent; }
static struct interval_node *interval_next(struct interval_node *node) { ENTRY; if (!node) RETURN(NULL); if (node->in_right) RETURN(interval_first(node->in_right)); while (node->in_parent && node_is_right_child(node)) node = node->in_parent; RETURN(node->in_parent); }