son
struct rb_node *son = self->rb_nodes[which];
KASSERT(RB_BLACK_P(self) && RB_RED_P(son));
KASSERT(!RB_TWOCHILDREN_P(son));
KASSERT(RB_CHILDLESS_P(son));
KASSERT(rb_tree_check_node(rbt, son, NULL, false));
RB_COPY_PROPERTIES(son, self);
father->rb_nodes[RB_POSITION(son)] = son;
RB_SET_FATHER(son, father);
KASSERT(rbt->rbt_minmax[which] == son);
rbt->rbt_minmax[which ^ RB_DIR_OTHER] = son;
rbt->rbt_minmax[RB_POSITION(self)] = son;
KASSERT(rb_tree_check_node(rbt, son, NULL, true));
int son;
son = key1;
son = h->elements;
if (son == h->size) { /* Need resize... */
h->p[son].object = p;
h->p[son].key = key1;
while (son > 0) { /* Bubble up */
int father = HEAP_FATHER(son);
if (DN_KEY_LT(h->p[father].key, h->p[son].key))
HEAP_SWAP(h->p[son], h->p[father], tmp);
SET_OFFSET(h, son);
son = father;
SET_OFFSET(h, son);
int son;
son = key1;
son = h->elements;
if (son == h->size) { /* Need resize... */
h->p[son].object = p;
h->p[son].key = key1;
while (son > 0) { /* Bubble up */
int father = HEAP_FATHER(son);
if (DN_KEY_LT(h->p[father].key, h->p[son].key))
HEAP_SWAP(h->p[son], h->p[father], tmp);
SET_OFFSET(h, son);
son = father;
SET_OFFSET(h, son);
parse = son(line);
parse = son(parse);
parse = son(parse);
parse = son(parse);
parse = son(parse);
parse = son(parse);
parse = son(parse);
parse = son(parse);
parse = son(parse);
parse = son(parse);
*(parse = son(parse)) = '\0';
static char *son(char *p);