diff options
author | Simon Quigley <tsimonq2@ubuntu.com> | 2017-08-16 04:32:39 -0500 |
---|---|---|
committer | Simon Quigley <tsimonq2@ubuntu.com> | 2017-08-16 04:32:39 -0500 |
commit | 82306ca849c0710209e5a39754f446d0335a276d (patch) | |
tree | 8d297400e5c36357b9147401631e653e035283d3 /modules/computer/uptime.c | |
parent | 21a53faf18b01a65a341115000e97d70b37c750c (diff) | |
parent | 9a9db98089717990cd5e0eef529f6bb0819ebe46 (diff) |
Updated version 0.5.1+git20170815 from 'upstream/0.5.1+git20170815'
with Debian dir 36bf8e7e43d9f6621a63c79a597af2f4f76271b7
Diffstat (limited to 'modules/computer/uptime.c')
-rw-r--r-- | modules/computer/uptime.c | 43 |
1 files changed, 19 insertions, 24 deletions
diff --git a/modules/computer/uptime.c b/modules/computer/uptime.c index 8eb563fa..5f0f1942 100644 --- a/modules/computer/uptime.c +++ b/modules/computer/uptime.c @@ -26,11 +26,11 @@ computer_get_uptime(void) gulong minutes; if ((procuptime = fopen("/proc/uptime", "r")) != NULL) { - (void)fscanf(procuptime, "%lu", &minutes); - ui->minutes = minutes / 60; - fclose(procuptime); + (void)fscanf(procuptime, "%lu", &minutes); + ui->minutes = minutes / 60; + fclose(procuptime); } else { - return NULL; + return NULL; } ui->hours = ui->minutes / 60; @@ -45,32 +45,27 @@ gchar * computer_get_formatted_uptime() { UptimeInfo *ui; - gchar *tmp; + const gchar *days_fmt, *hours_fmt, *minutes_fmt; + gchar *full_fmt = NULL, *ret = NULL; ui = computer_get_uptime(); - /* FIXME: Use ngettext */ -#define plural(x) ((x > 1) ? "s" : "") + days_fmt = ngettext("%d day", "%d days", ui->days); + hours_fmt = ngettext("%d hour", "%d hours", ui->hours); + minutes_fmt = ngettext("%d minute", "%d minutes", ui->minutes); if (ui->days < 1) { - if (ui->hours < 1) { - tmp = - g_strdup_printf("%d minute%s", ui->minutes, - plural(ui->minutes)); - } else { - tmp = - g_strdup_printf("%d hour%s, %d minute%s", ui->hours, - plural(ui->hours), ui->minutes, - plural(ui->minutes)); - } + if (ui->hours < 1) { + ret = g_strdup_printf(minutes_fmt, ui->minutes); + } else { + full_fmt = g_strdup_printf("%s %s", hours_fmt, minutes_fmt); + ret = g_strdup_printf(full_fmt, ui->hours, ui->minutes); + } } else { - tmp = - g_strdup_printf("%d day%s, %d hour%s and %d minute%s", - ui->days, plural(ui->days), ui->hours, - plural(ui->hours), ui->minutes, - plural(ui->minutes)); + full_fmt = g_strdup_printf("%s %s %s", days_fmt, hours_fmt, minutes_fmt); + ret = g_strdup_printf(full_fmt, ui->days, ui->hours, ui->minutes); } - + g_free(full_fmt); g_free(ui); - return tmp; + return ret; } |