From 5635adea29eb6f7ee1f4d3ed08bb2304353af2ea Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 2 May 2017 10:18:56 -0400 Subject: [PATCH] Add table printer api for number columns This is better than open-coding the decimal point check in all the callers. --- common/flatpak-table-printer.c | 21 +++++++++++++++++++++ common/flatpak-table-printer.h | 2 ++ 2 files changed, 23 insertions(+) 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);