From 62f3e715972686670df030c1b0770c4527e40d9d Mon Sep 17 00:00:00 2001 From: coastal-hiker Date: Tue, 27 Jun 2017 14:14:49 +0200 Subject: [PATCH] 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 --- login-utils/last.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 */ -- 2.47.2