We should not ever need any of the other cases.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
goto ERROR;
// Add the header
- r = cli_table_add_col(table, "Name", CLI_TABLE_STRING, CLI_TABLE_ALIGN_LEFT);
+ r = cli_table_add_col(table, "Name", CLI_TABLE_STRING);
if (r < 0)
goto ERROR;
- r = cli_table_add_col(table, "Priority", CLI_TABLE_INTEGER, CLI_TABLE_ALIGN_RIGHT);
+ r = cli_table_add_col(table, "Priority", CLI_TABLE_INTEGER);
if (r < 0)
goto ERROR;
goto ERROR;
// Add a column with the name
- r = cli_table_add_col(table, "Repository", CLI_TABLE_STRING, CLI_TABLE_ALIGN_LEFT);
+ r = cli_table_add_col(table, "Repository", CLI_TABLE_STRING);
if (r < 0)
goto ERROR;
// Add enabled status
- r = cli_table_add_col(table, "Enabled", CLI_TABLE_YESNO, CLI_TABLE_ALIGN_RIGHT);
+ r = cli_table_add_col(table, "Enabled", CLI_TABLE_YESNO);
if (r < 0)
goto ERROR;
- r = cli_table_add_col(table, "Priority", CLI_TABLE_INTEGER, CLI_TABLE_ALIGN_RIGHT);
+ r = cli_table_add_col(table, "Priority", CLI_TABLE_INTEGER);
if (r < 0)
goto ERROR;
- r = cli_table_add_col(table, "Packages", CLI_TABLE_INTEGER, CLI_TABLE_ALIGN_RIGHT);
+ r = cli_table_add_col(table, "Packages", CLI_TABLE_INTEGER);
if (r < 0)
goto ERROR;
#include "table.h"
#include "terminal.h"
+typedef enum {
+ CLI_TABLE_ALIGN_LEFT = 'L',
+ CLI_TABLE_ALIGN_RIGHT = 'R',
+} cli_table_col_align;
+
typedef struct cli_table_col {
STAILQ_ENTRY(cli_table_col) nodes;
free(self);
}
-int cli_table_add_col(cli_table* self,
- const char* name, cli_table_col_type type, cli_table_col_align align) {
+int cli_table_add_col(cli_table* self, const char* name, cli_table_col_type type) {
cli_table_col* col = NULL;
// Allocate a new col
col->type = type;
// Store the alignment
- col->align = align;
+ switch (col->type) {
+ case CLI_TABLE_STRING:
+ col->align = CLI_TABLE_ALIGN_LEFT;
+ break;
+
+ case CLI_TABLE_INTEGER:
+ case CLI_TABLE_FLOAT:
+ case CLI_TABLE_YESNO:
+ col->align = CLI_TABLE_ALIGN_RIGHT;
+ break;
+ }
// The column needs to be wide enough to fit the title
col->width = strlen(col->name);
CLI_TABLE_YESNO,
} cli_table_col_type;
-typedef enum {
- CLI_TABLE_ALIGN_LEFT,
- CLI_TABLE_ALIGN_RIGHT,
-} cli_table_col_align;
-
-int cli_table_add_col(cli_table* self,
- const char* name, cli_table_col_type type, cli_table_col_align align);
+int cli_table_add_col(cli_table* self, const char* name, cli_table_col_type type);
int cli_table_add_row(cli_table* self, ...);