diff options
-rw-r--r-- | miscutils/last_fancy.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/miscutils/last_fancy.c b/miscutils/last_fancy.c index 8e63e5c3d..b4ae5740c 100644 --- a/miscutils/last_fancy.c +++ b/miscutils/last_fancy.c | |||
@@ -48,8 +48,12 @@ static void show_entry(struct utmp *ut, int state, time_t dur_secs) | |||
48 | char logout_time[8]; | 48 | char logout_time[8]; |
49 | const char *logout_str; | 49 | const char *logout_str; |
50 | const char *duration_str; | 50 | const char *duration_str; |
51 | time_t tmp; | ||
51 | 52 | ||
52 | safe_strncpy(login_time, ctime(&(ut->ut_tv.tv_sec)), 17); | 53 | /* manpages say ut_tv.tv_sec *is* time_t, |
54 | * but some systems have it wrong */ | ||
55 | tmp = ut->ut_tv.tv_sec; | ||
56 | safe_strncpy(login_time, ctime(&tmp), 17); | ||
53 | snprintf(logout_time, 8, "- %s", ctime(&dur_secs) + 11); | 57 | snprintf(logout_time, 8, "- %s", ctime(&dur_secs) + 11); |
54 | 58 | ||
55 | dur_secs = MAX(dur_secs - (time_t)ut->ut_tv.tv_sec, (time_t)0); | 59 | dur_secs = MAX(dur_secs - (time_t)ut->ut_tv.tv_sec, (time_t)0); |