- if (column > width) {
- /* This character would make the line too long.
- Print the line plus a newline, and make this character
- start the next line. */
- if (flags & FLAG_BREAK_SPACES) {
- /* Look for the last blank. */
- int logical_end;
-
- for (logical_end = offset_out - 1; logical_end >= 0; logical_end--) {
- if (isblank(line_out[logical_end])) {
- break;
- }
- }
- if (logical_end >= 0) {
- /* Found a blank. Don't output the part after it. */
- logical_end++;
- fwrite(line_out, sizeof(char), (size_t) logical_end, stdout);
- putchar('\n');
- /* Move the remainder to the beginning of the next line.
- The areas being copied here might overlap. */
- memmove(line_out, line_out + logical_end, offset_out - logical_end);
- offset_out -= logical_end;
- for (column = i = 0; i < offset_out; i++) {
- column = adjust_column(column, line_out[i]);
- }
- goto rescan;
- }
- } else {
- if (offset_out == 0) {
- line_out[offset_out++] = c;
+ /* This character would make the line too long.
+ * Print the line plus a newline, and make this character
+ * start the next line */
+ if (option_mask32 & FLAG_BREAK_SPACES) {
+ unsigned i;
+ unsigned logical_end;
+
+ /* Look for the last blank. */
+ for (logical_end = offset_out - 1; (int)logical_end >= 0; logical_end--) {
+ if (!isblank(line_out[logical_end]))