| | void ** rtrb_probe (struct rtrb_table *tree, void *item) {
struct rtrb_node *pa[RTRB_MAX_HEIGHT]; /* Nodes on stack. */
unsigned char da[RTRB_MAX_HEIGHT]; /* Directions moved from stack nodes. */
int k; /* Stack height. */
struct rtrb_node *p; /* Current node in search. */
struct rtrb_node *n; /* New node. */
int dir; /* Side of p on which p is located. */
assert (tree != NULL && item != NULL);
<@xref{\NODE\, , Step 1: Search RTRB tree for insertion point.>,457}
<@xref{\NODE\, , Step 2: Insert RTRB node.>,458}
<@xref{\NODE\, , Step 3: Rebalance after RTRB insertion.>,459}
return &n->rtrb_data;
}
|