size_t colsepsz;
int sorted = 0;
-
DBG(TAB, ul_debugobj(tb, "-----calculate-(termwidth=%zu)-----", tb->termwidth));
tb->is_dummy_print = 1;
-
colsepsz = scols_table_is_noencoding(tb) ?
mbs_width(colsep(tb)) :
mbs_safe_width(colsep(tb));
while (scols_table_next_column(tb, &itr, &cl) == 0) {
int is_last;
+ memset(&cl->wstat, 0, sizeof(cl->wstat));
+ cl->width = 0;
+ cl->width_treeart = 0;
+ scols_column_reset_wrap(cl);
+
if (scols_column_is_hidden(cl))
continue;
}
}
+done:
/* reset wrapping after greatest chunk calculation */
if (cal && scols_column_is_wrap(cl))
scols_column_reset_wrap(cl);
-done:
DBG(COL, ul_debugobj(cl, "__cursor_to_buffer rc=%d", rc));
return rc;
}
rc = __cursor_to_buffer(tb, buf, 0);
if (!rc)
rc = print_data(tb, buf);
- if (!rc && scols_column_has_pending_wrap(cl))
- pending = 1;
+ if (!rc) {
+ if (scols_column_has_pending_wrap(cl))
+ pending = 1;
+ else
+ scols_column_reset_wrap(cl);
+ }
scols_table_reset_cursor(tb);
}
fputs_color_line_close(tb);
rc = __cursor_to_buffer(tb, buf, 0);
if (!rc)
rc = print_pending_data(tb, buf);
- if (!rc && scols_column_has_pending_wrap(cl))
- pending = 1;
- if (!rc && !pending)
- scols_column_reset_wrap(cl);
+ if (!rc) {
+ if (scols_column_has_pending_wrap(cl))
+ pending = 1;
+ else
+ scols_column_reset_wrap(cl);
+ }
} else
print_empty_cell(tb, cl, ln, NULL, ul_buffer_get_bufsiz(buf));
scols_table_reset_cursor(tb);