[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#26783: Discrepancy with uptime added as part of "[PATCH] Document up
From: |
Pádraig Brady |
Subject: |
bug#26783: Discrepancy with uptime added as part of "[PATCH] Document uptime." |
Date: |
Fri, 5 May 2017 13:18:57 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 |
On 04/05/17 23:03, Prateek saxena wrote:
> Hi,
>
> We found some discrepancy with uptime utility of coreutils package.
>
> In my system using coreutils package with version 8.26, uptime output prints
> PM/AM for 24 hour time format.
>
> Logs:
> ------------------------------------------------------------------------------------
> # uptime
> 17:19pm up 6 days 10:02, 1 user, load average: 0.18, 0.14, 0.10
>
> # uptime --version
> uptime (GNU coreutils) 8.26
> Copyright (C) 2016 Free Software Foundation, Inc.
>
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
>> .
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
> Written by Joseph Arceneaux, David MacKenzie, and Kaveh Ghazi
> ------------------------------------------------------------------------------------
>
> The time is in 24 hours format and PM is not expected to be printed.
> We can see latest patch for uptime utility, use of fprintftime to print the
> time
> (http://lists.gnu.org/archive/html/bug-coreutils/2008-08/msg00035.html).
>
> ------------------------------------------------------------------------------------
> diff --git a/src/uptime.c b/src/uptime.c
> index 9e3384f..5bdc230 100644
> --- a/src/uptime.c
> +++ b/src/uptime.c
> @@ -36,6 +36,7 @@
> #include "long-options.h"
> #include "quote.h"
> #include "readutmp.h"
> +#include "fprintftime.h"
>
> /* The official name of this program (e.g., no `g' prefix). */
> #define PROGRAM_NAME "uptime"
> @@ -126,12 +127,10 @@ print_uptime (size_t n, const STRUCT_UTMP *this)
> uphours = (uptime - (updays * 86400)) / 3600;
> upmins = (uptime - (updays * 86400) - (uphours * 3600)) / 60;
> tmn = localtime (&time_now);
> + /* procps' version of uptime also prints the seconds field, but
> + previous versions of coreutils don't. */
> if (tmn)
> - printf (_(" %2d:%02d%s up "),
> - ((tmn->tm_hour % 12) == 0 ? 12 : tmn->tm_hour % 12),
> - /* FIXME: use strftime, not am, pm. Uli reports that
> - the german translation is meaningless. */
> - tmn->tm_min, (tmn->tm_hour < 12 ? _("am") : _("pm")));
> + fprintftime (stdout, _(" %H:%M%P up "), tmn, 0, 0);
> else
> printf (_(" ??:???? up "));
> if (uptime == (time_t) -1)
> -----------------------------------------------------------------------------------
>
> Can you please verify whether PM/AM should be avoided from uptime print.
>
> Please find attach patch to remove AM/PM from the print for your reference.
>
> Please provide your inputs for same.
>
> Thanks & Regards,
> Prateek
>
Nice catch.
I'm happy to simplify and switch to 24 hour
(which also matches procps-ng normally used on Linux)
thanks
Pádraig