int increment = max(1, x_slack / cols);
startslack = x_slack;
for(short col=0; col < cols; col++) {
- int diff = min(colMaxWidth[col], colWidth[col] + increment) - colWidth[col];
+ // FIXME: double check this
+ int diff = min(min(colMaxWidth[col], colWidth[col] + increment) - colWidth[col], x_slack);
x_slack -= diff;
colWidth[col] += diff;
}