diff --git a/common/flatpak-table-printer.c b/common/flatpak-table-printer.c index 4aa3b72a..1bd74826 100644 --- a/common/flatpak-table-printer.c +++ b/common/flatpak-table-printer.c @@ -90,6 +90,27 @@ flatpak_table_printer_add_aligned_column (FlatpakTablePrinter *printer, g_ptr_array_add (printer->current, cell); } +static const char * +find_decimal_point (const char *text) +{ + // FIXME use localeconv + return strchr (text, '.'); +} + +void +flatpak_table_printer_add_decimal_column (FlatpakTablePrinter *printer, + const char *text) +{ + const char *decimal; + int align = -1; + + decimal = find_decimal_point (text); + if (decimal) + align = decimal - text; + + flatpak_table_printer_add_aligned_column (printer, text, align); +} + void flatpak_table_printer_add_column (FlatpakTablePrinter *printer, const char *text) diff --git a/common/flatpak-table-printer.h b/common/flatpak-table-printer.h index 6d286504..b19f5aa6 100644 --- a/common/flatpak-table-printer.h +++ b/common/flatpak-table-printer.h @@ -35,6 +35,8 @@ void flatpak_table_printer_add_column (FlatpakTablePrinte void flatpak_table_printer_add_aligned_column (FlatpakTablePrinter *printer, const char *text, int align); +void flatpak_table_printer_add_decimal_column (FlatpakTablePrinter *printer, + const char *text); void flatpak_table_printer_add_column_len (FlatpakTablePrinter *printer, const char *text, gsize len);