w: Show time with TIME_BITS=64 on 32bit env
Thanks to @kabe-gl for this patch. w command shows ????? for LOGIN@ column when compiled on 32bit environment with -D_TIME_BITS=64. References: #256 Signed-off-by: Craig Small <csmall@dropbear.xyz>
This commit is contained in:
parent
2647eb57da
commit
d99c213af9
1
NEWS
1
NEWS
@ -2,6 +2,7 @@ procps-ng-NEXT
|
|||||||
---------------
|
---------------
|
||||||
* library
|
* library
|
||||||
Handle absent 'core_id' in /proc/cpuinfo
|
Handle absent 'core_id' in /proc/cpuinfo
|
||||||
|
* w: Show time with D_TIME_BITS=64 on 32bit env issue #256
|
||||||
|
|
||||||
procps-ng-4.0.1
|
procps-ng-4.0.1
|
||||||
---------------
|
---------------
|
||||||
|
14
src/w.c
14
src/w.c
@ -251,34 +251,34 @@ static void print_time_ival7(time_t t, int centi_sec, FILE * fout)
|
|||||||
if (oldstyle) {
|
if (oldstyle) {
|
||||||
if (t >= 48 * 60 * 60)
|
if (t >= 48 * 60 * 60)
|
||||||
/* > 2 days */
|
/* > 2 days */
|
||||||
fprintf(fout, _(" %2ludays"), t / (24 * 60 * 60));
|
fprintf(fout, _(" %2lludays"), (unsigned long long)t / (24 * 60 * 60));
|
||||||
else if (t >= 60 * 60)
|
else if (t >= 60 * 60)
|
||||||
/* > 1 hour */
|
/* > 1 hour */
|
||||||
/* Translation Hint: Hours:Minutes */
|
/* Translation Hint: Hours:Minutes */
|
||||||
fprintf(fout, " %2lu:%02u ", t / (60 * 60),
|
fprintf(fout, " %2llu:%02u ", (unsigned long long)t / (60 * 60),
|
||||||
(unsigned)((t / 60) % 60));
|
(unsigned)((t / 60) % 60));
|
||||||
else if (t > 60)
|
else if (t > 60)
|
||||||
/* > 1 minute */
|
/* > 1 minute */
|
||||||
/* Translation Hint: Minutes:Seconds */
|
/* Translation Hint: Minutes:Seconds */
|
||||||
fprintf(fout, _(" %2lu:%02um"), t / 60, (unsigned)t % 60);
|
fprintf(fout, _(" %2llu:%02um"), (unsigned long long)t / 60, (unsigned)t % 60);
|
||||||
else
|
else
|
||||||
fprintf(fout, " ");
|
fprintf(fout, " ");
|
||||||
} else {
|
} else {
|
||||||
if (t >= 48 * 60 * 60)
|
if (t >= 48 * 60 * 60)
|
||||||
/* 2 days or more */
|
/* 2 days or more */
|
||||||
fprintf(fout, _(" %2ludays"), t / (24 * 60 * 60));
|
fprintf(fout, _(" %2lludays"), (unsigned long long)t / (24 * 60 * 60));
|
||||||
else if (t >= 60 * 60)
|
else if (t >= 60 * 60)
|
||||||
/* 1 hour or more */
|
/* 1 hour or more */
|
||||||
/* Translation Hint: Hours:Minutes */
|
/* Translation Hint: Hours:Minutes */
|
||||||
fprintf(fout, _(" %2lu:%02um"), t / (60 * 60),
|
fprintf(fout, _(" %2llu:%02um"), (unsigned long long)t / (60 * 60),
|
||||||
(unsigned)((t / 60) % 60));
|
(unsigned)((t / 60) % 60));
|
||||||
else if (t > 60)
|
else if (t > 60)
|
||||||
/* 1 minute or more */
|
/* 1 minute or more */
|
||||||
/* Translation Hint: Minutes:Seconds */
|
/* Translation Hint: Minutes:Seconds */
|
||||||
fprintf(fout, " %2lu:%02u ", t / 60, (unsigned)t % 60);
|
fprintf(fout, " %2llu:%02u ", (unsigned long long)t / 60, (unsigned)t % 60);
|
||||||
else
|
else
|
||||||
/* Translation Hint: Seconds:Centiseconds */
|
/* Translation Hint: Seconds:Centiseconds */
|
||||||
fprintf(fout, _(" %2lu.%02us"), t, centi_sec);
|
fprintf(fout, _(" %2llu.%02us"), (unsigned long long)t, centi_sec);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user