printk("\nwr_mas %lu\n", mas->min);
- printk("At %p and %p\n", mas_mn(mas), mas_mn(&r_mas));
+ printk("At %p and r_mas %p\n", mas_mn(mas), mas_mn(&r_mas));
printk("r_mas: end piv is %lu max %lu\n", r_wr_mas.end_piv, r_mas.max);
wr_mas->end_piv = r_wr_mas.end_piv;
s = d = 0;
printk("START\n");
do {
+ unsigned char max = limits[d] + 1 - sd.offset;
+
printk("limits is %u/%u\n", limits[d], sd.offset);
printk("pass dst %p\n", &dst[d]);
- spanning_append(&sd, src[s], &dst[d], limits[d] + 1 - sd.offset);
+ spanning_append(&sd, src[s], &dst[d], max);
+ /* destination full */
if (sd.offset > limits[d]) {
/* Check NULL.. */
if (ma_is_leaf(src[s]->type)
printk("dst ++\n");
}
+ /* Source exhausted */
if (src[s]->offset > src[s]->end) {
src[s]->offset = 0;
s++;