struct maple_enode *penode;
unsigned long *ppivots, *pgaps, *gpgaps = NULL;
enum maple_type pmt, gpmt;
+ unsigned char pslot = slot;
pnode = mte_parent(mas->node);
pmt = gpmt = mas_parent_enum(mas, mas->node);
gpnode = mte_parent(penode);
gpmt = mas_parent_enum(mas, penode);
gpgaps = ma_gaps(gpnode, gpmt);
- old_max_gap = gpgaps[slot];
+ pslot = mte_parent_slot(penode);
+ old_max_gap = gpgaps[pslot];
}
pgaps[slot] = new;
if (mte_is_root(penode))
pnode = gpnode;
pmt = gpmt;
pgaps = gpgaps;
- slot = mte_parent_slot(penode);
+ slot = pslot;
penode = mt_mk_node(pnode, pmt);
goto ascend;
}
p_gap = ma_gaps(mte_parent(mas->node),
mas_parent_enum(mas, mas->node))[pslot];
- if (p_gap != max_gap) {
+ if (p_gap != max_gap)
mas_parent_gap(mas, pslot, max_gap);
- }
}
/*