diff options
author | Craig Small <csmall@dropbear.xyz> | 2022-11-09 21:02:09 +1100 |
---|---|---|
committer | Craig Small <csmall@dropbear.xyz> | 2022-11-09 21:02:09 +1100 |
commit | d99c213af9c4a28c9232fe186fd0b10ea9b063f7 (patch) | |
tree | e737f952c2782360457fba503cf287941171a29b | |
parent | 2647eb57da100823ffdb2f8afffbfd59e2887e8f (diff) | |
download | procps-ng-d99c213af9c4a28c9232fe186fd0b10ea9b063f7.tar.gz |
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>
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/w.c | 14 |
2 files changed, 8 insertions, 7 deletions
@@ -2,6 +2,7 @@ procps-ng-NEXT --------------- * library 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 --------------- @@ -251,34 +251,34 @@ static void print_time_ival7(time_t t, int centi_sec, FILE * fout) if (oldstyle) { if (t >= 48 * 60 * 60) /* > 2 days */ - fprintf(fout, _(" %2ludays"), t / (24 * 60 * 60)); + fprintf(fout, _(" %2lludays"), (unsigned long long)t / (24 * 60 * 60)); else if (t >= 60 * 60) /* > 1 hour */ /* 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)); else if (t > 60) /* > 1 minute */ /* 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 fprintf(fout, " "); } else { if (t >= 48 * 60 * 60) /* 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) /* 1 hour or more */ /* 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)); else if (t > 60) /* 1 minute or more */ /* 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 /* Translation Hint: Seconds:Centiseconds */ - fprintf(fout, _(" %2lu.%02us"), t, centi_sec); + fprintf(fout, _(" %2llu.%02us"), (unsigned long long)t, centi_sec); } } |