summaryrefslogtreecommitdiff
path: root/shape.c
diff options
context:
space:
mode:
-rw-r--r--shape.c33
1 files changed, 18 insertions, 15 deletions
@@ -229,25 +229,28 @@ redblack_insert_aux(redblack_node_t * tree, ID key, rb_shape_t * value)
return redblack_new(RED, key, value, LEAF, LEAF);
}
else {
if (key < tree->key) {
- return redblack_balance(redblack_color(tree),
- tree->key,
- redblack_value(tree),
- redblack_insert_aux(redblack_left(tree), key, value),
- redblack_right(tree));
}
else {
- if (key > tree->key) {
- return redblack_balance(redblack_color(tree),
- tree->key,
- redblack_value(tree),
- redblack_left(tree),
- redblack_insert_aux(redblack_right(tree), key, value));
- }
- else {
- return tree;
- }
}
}
}