dst_slot = 0; // empty node.
else if (dst_slot > mt_slot_count(mas->node)) { // Should not happen.
dst_slot = mas_data_end(mas, mte_node_type(mas->node),
- &wr_pivot, &coalesce); // slot not set.}
+ &wr_pivot, &coalesce); // slot not set.
} else if (dst_slot)
wr_pivot = mas_get_safe_pivot(mas, dst_slot - 1);
mas_mn(&cp)->parent = mn->parent;
if (prev_piv == mas->index - 1) {
if (slot) // slot - 1 will translate to slot - 1 + 1.
- _mas_append(&cp, mn, mas_type, src_max, 0,
- slot - 1);
+ end_slot = _mas_append(&cp, mn, mas_type,
+ src_max, 0, slot - 1);
} else {
end_slot = _mas_append(&cp, mn, mas_type, src_max, 0, slot);
if (end_slot < mt_pivot_count(cp.node))
mte_set_pivot(cp.node, end_slot, mas->index - 1);
- mas_set_slot(&cp, end_slot);
}
+ mas_set_slot(&cp, end_slot);
end_slot = mas_append_entry(&cp, entry) + 1;
// Partial slot overwrite