Partitions are not always within our aligned scope. Bar printing
involves foreign partitions as well.
Fixes #21817.
from = p->offset;
to = from + p->new_size;
- assert(context->end >= context->start);
- total = context->end - context->start;
+ assert(context->total > 0);
+ total = context->total;
- assert(from >= context->start);
- assert(from <= context->end);
- x = (from - context->start) * n / total;
+ assert(from <= total);
+ x = from * n / total;
- assert(to >= context->start);
- assert(to <= context->end);
- y = (to - context->start) * n / total;
+ assert(to <= total);
+ y = to * n / total;
assert(x <= y);
assert(y <= n);