last: fix ctime(ptr) ptr type mismatch
authorDenis Vlasenko <vda.linux@googlemail.com>
Wed, 9 Jul 2008 19:48:43 +0000 (19:48 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Wed, 9 Jul 2008 19:48:43 +0000 (19:48 -0000)
miscutils/last_fancy.c

index 8e63e5c3d7f1d98ed1d9a637c6634eea598f7f3f..b4ae5740c8de8f0856e0848bac0cc9e0e593299a 100644 (file)
@@ -48,8 +48,12 @@ static void show_entry(struct utmp *ut, int state, time_t dur_secs)
        char logout_time[8];
        const char *logout_str;
        const char *duration_str;
+       time_t tmp;
 
-       safe_strncpy(login_time, ctime(&(ut->ut_tv.tv_sec)), 17);
+       /* manpages say ut_tv.tv_sec *is* time_t,
+        * but some systems have it wrong */
+        tmp = ut->ut_tv.tv_sec;
+       safe_strncpy(login_time, ctime(&tmp), 17);
        snprintf(logout_time, 8, "- %s", ctime(&dur_secs) + 11);
 
        dur_secs = MAX(dur_secs - (time_t)ut->ut_tv.tv_sec, (time_t)0);