cp->slot[d] = mt_mk_node(mn, mt);
cp->pivot[d] = max;
+ printk("%p %lx - %lx\n", cp->slot[d], min, max);
if (ma_is_leaf(mt)) {
cp->gap[d] = ma_leaf_max_gap(mn, mt, min, max,
ma_pivots(mn, mt), ma_slots(mn,mt));
- min = max + 1;
+ printk("New gap for %p = %lx\n", mn, cp->gap[d]);
+ } else {
+ unsigned long *gaps = ma_gaps(mn, mt);
+
+ if (gaps) {
+ unsigned char gap_slot;
+
+ gap_slot = ma_meta_gap(mn);
+ cp->gap[d] = gaps[gap_slot];
+ }
}
+ min = max + 1;
}
if (sib->end) {