mirror of
https://github.com/systemd/systemd.git
synced 2026-08-04 15:10:33 +00:00
format-table: add table_fill_empty() to fill in empty cells until the specified column is reached
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
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) {
|
||||
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_fill_empty(Table *t, size_t until_column);
|
||||
|
||||
int table_dup_cell(Table *t, TableCell *cell);
|
||||
|
||||
int table_set_minimum_width(Table *t, TableCell *cell, size_t minimum_width);
|
||||
|
||||
Reference in New Issue
Block a user