static void
print_uptime (size_t n, const STRUCT_UTMP *this)
{
- size_t entries = 0;
+ idx_t entries = 0;
time_t boot_time = 0;
time_t time_now;
time_t uptime = 0;
- long int updays;
+ intmax_t updays;
int uphours;
int upmins;
struct tm *tmn;
uptime = time_now - boot_time;
}
updays = uptime / 86400;
- uphours = (uptime - (updays * 86400)) / 3600;
- upmins = (uptime - (updays * 86400) - (uphours * 3600)) / 60;
+ uphours = uptime % 86400 / 3600;
+ upmins = uptime % 86400 % 3600 / 60;
tmn = localtime (&time_now);
/* procps' version of uptime also prints the seconds field, but
previous versions of coreutils don't. */
else
{
if (0 < updays)
- printf (ngettext ("up %ld day %2d:%02d, ",
- "up %ld days %2d:%02d, ",
+ printf (ngettext ("up %"PRIdMAX" day %2d:%02d, ",
+ "up %"PRIdMAX" days %2d:%02d, ",
select_plural (updays)),
updays, uphours, upmins);
else
printf (_("up %2d:%02d, "), uphours, upmins);
}
- printf (ngettext ("%lu user", "%lu users", select_plural (entries)),
- (unsigned long int) entries);
+ printf (ngettext ("%td user", "%td users", select_plural (entries)),
+ entries);
loads = getloadavg (avg, 3);