From f060c437a8fc450f810a829e37a4973a4d72a1d9 Mon Sep 17 00:00:00 2001 From: Alastair Poole Date: Fri, 19 Mar 2021 08:15:36 +0000 Subject: [PATCH] util: static init and translation ware. --- src/bin/ui/ui_util.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/bin/ui/ui_util.c b/src/bin/ui/ui_util.c index 96c6948..3eb2a21 100644 --- a/src/bin/ui/ui_util.c +++ b/src/bin/ui/ui_util.c @@ -106,21 +106,25 @@ evisum_ui_button_add(Evas_Object *parent, Evas_Object **alias, const char *text, const char * evisum_size_format(unsigned long long bytes) { - const char *s, *unit = "BKMGTPEZY"; unsigned long powi = 1; unsigned long long value; unsigned int precision = 2, powj = 1; + int i = 0; + static const char *units[8] = { + _("B"), _("K"), _("M"), _("G"), + _("T"), _("P"), _("E"), _("Z"), + }; value = bytes; while (value > 1024) { if ((value / 1024) < powi) break; powi *= 1024; - ++unit; - if (unit[1] == '\0') break; + ++i; + if (i == 7) break; } - if (*unit == 'B') precision = 0; + if (!i) precision = 0; while (precision > 0) { @@ -129,9 +133,7 @@ evisum_size_format(unsigned long long bytes) --precision; } - s = eina_slstr_printf("%1.*f %c", precision, (double) value / powi, *unit); - - return s; + return eina_slstr_printf("%1.*f %s", precision, (double) value / powi, units[i]); } static char *