static inline int mas_commit_b_node(struct ma_state *mas,
struct maple_big_node *b_node, unsigned char end)
{
- struct maple_enode *new_node;
+ struct maple_node *node;
unsigned char b_end = b_node->b_end;
enum maple_type b_type = b_node->type;
if (mas_is_err(mas))
return 0;
- new_node = mt_mk_node(mas_pop_node(mas), mte_node_type(mas->node));
- mte_to_node(new_node)->parent = mas_mn(mas)->parent;
- mas->node = new_node;
+ node = mas_pop_node(mas);
+ node->parent = mas_mn(mas)->parent;
+ mas->node = mt_mk_node(node, b_type);
mab_mas_cp(b_node, 0, b_end, mas, true);
if (b_end < mt_pivots[b_type] - 1)
- ma_set_meta(mas_mn(mas), maple_leaf_64, 0, b_end);
+ ma_set_meta(node, b_type, 0, b_end);
mas_replace(mas, false);
reuse_node: