hush: initial stab at brace expansion support
[oweals/busybox.git] / miscutils / last_fancy.c
index 0dba9dca71ac6566281d169b1f01d5a3733c7b00..f3ea0375d3006fdec45a84d650a284e06b1300a8 100644 (file)
@@ -10,6 +10,9 @@
 #include "libbb.h"
 #include <utmp.h>
 
+/* NB: ut_name and ut_user are the same field, use only one name (ut_user)
+ * to reduce confusion */
+
 #ifndef SHUTDOWN_TIME
 #  define SHUTDOWN_TIME 254
 #endif
@@ -45,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);
@@ -145,7 +152,7 @@ static int is_runlevel_shutdown(struct utmp *ut)
 }
 
 int last_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int last_main(int argc ATTRIBUTE_UNUSED, char **argv)
+int last_main(int argc UNUSED_PARAM, char **argv)
 {
        struct utmp ut;
        const char *filename = _PATH_WTMP;