format-table: add table_fill_empty() to fill in empty cells until the specified column is reached
This commit is contained in:
parent
4ea710eaf4
commit
728a22d3b1
|
@ -418,6 +418,27 @@ int table_add_cell_stringf(Table *t, TableCell **ret_cell, const char *format, .
|
||||||
return table_add_cell(t, ret_cell, TABLE_STRING, buffer);
|
return table_add_cell(t, ret_cell, TABLE_STRING, buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int table_fill_empty(Table *t, size_t until_column) {
|
||||||
|
int r;
|
||||||
|
|
||||||
|
assert(t);
|
||||||
|
|
||||||
|
/* Fill the rest of the current line with empty cells until we reach the specified column. Will add
|
||||||
|
* at least one cell. Pass 0 in order to fill a line to the end or insert an empty line. */
|
||||||
|
|
||||||
|
if (until_column >= t->n_columns)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
do {
|
||||||
|
r = table_add_cell(t, NULL, TABLE_EMPTY, NULL);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
|
||||||
|
} while ((t->n_cells % t->n_columns) != until_column);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int table_dup_cell(Table *t, TableCell *cell) {
|
int table_dup_cell(Table *t, TableCell *cell) {
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
|
|
|
@ -59,6 +59,8 @@ static inline int table_add_cell(Table *t, TableCell **ret_cell, TableDataType t
|
||||||
}
|
}
|
||||||
int table_add_cell_stringf(Table *t, TableCell **ret_cell, const char *format, ...) _printf_(3, 4);
|
int table_add_cell_stringf(Table *t, TableCell **ret_cell, const char *format, ...) _printf_(3, 4);
|
||||||
|
|
||||||
|
int table_fill_empty(Table *t, size_t until_column);
|
||||||
|
|
||||||
int table_dup_cell(Table *t, TableCell *cell);
|
int table_dup_cell(Table *t, TableCell *cell);
|
||||||
|
|
||||||
int table_set_minimum_width(Table *t, TableCell *cell, size_t minimum_width);
|
int table_set_minimum_width(Table *t, TableCell *cell, size_t minimum_width);
|
||||||
|
|
Loading…
Reference in a new issue