From: coastal-hiker Date: Tue, 27 Jun 2017 12:14:49 +0000 (+0200) Subject: last: condition (secs == 0) - now handled correctly X-Git-Tag: v2.31-rc1~230 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=62f3e715972686670df030c1b0770c4527e40d9d;p=thirdparty%2Futil-linux.git last: condition (secs == 0) - now handled correctly Changed comparison "if (secs > 0)" to "if (secs >= 0)" to handle condition (secs == 0) correctly. Suggestions to improve the less-than-elegant if-else chain are welcome. Signed-off-by: Karel Zak --- diff --git a/login-utils/last.c b/login-utils/last.c index ad70b38fb1..2d7eb049f7 100644 --- a/login-utils/last.c +++ b/login-utils/last.c @@ -457,7 +457,7 @@ static int list(const struct last_control *ctl, struct utmpx *p, time_t logout_t sprintf(length, "(%d+%02d:%02d)", days, abs(hours), abs(mins)); /* hours and mins always shown as positive (w/o minus sign!) even if secs < 0 */ } else if (hours) { sprintf(length, " (%02d:%02d)", hours, abs(mins)); /* mins always shown as positive (w/o minus sign!) even if secs < 0 */ - } else if (secs > 0) { + } else if (secs >= 0) { sprintf(length, " (%02d:%02d)", hours, mins); } else { sprintf(length, " (-00:%02d)", abs(mins)); /* mins always shown as positive (w/o minus sign!) even if secs < 0 */