- startslack = x_slack;
- for(short col=0; col < cols; col++) {
- // FIXME: double check this
- int diff = min(min(colMaxWidth[col], colWidth[col] + increment) - colWidth[col], x_slack);
- if (colWidth[col] + diff < colMinWidth[col]) diff = colMinWidth[col] - colWidth[col];
- if (diff == 0) continue;
+ for(short col=0, count=0; col < cols; col++) {
+ if (colMaxWidth[col] <= colWidth[col]) continue;
+ if (slacklevel + increment < colWidth[col]) { eligible++; continue; }
+ int diff = min(increment, min(colMaxWidth[col] - colWidth[col], slacklevel + increment - colWidth[col]));