--- al_share.cpp +++ al_share.cpp @@ -114,11 +114,13 @@ { if (print_file_problems) { + time_t tmp_time; utmp_print_file_and_line (stddebug); fprintf (stddebug, ": problem: time warp (%-24.24s", ctime (&last_time)); - fprintf (stddebug, " -> %-24.24s)\n", - ctime ((time_t *) &(rec->ut_time))); + tmp_time = rec->ut_time; + fprintf (stddebug, " -> %-24.24s)\n", + ctime (&tmp_time)); } #ifdef BACKWARDS --- lastcomm.c +++ lastcomm.c @@ -273,6 +273,7 @@ parse_entries (void) { struct acct *rec; /* the current record */ + time_t tmp_time; /* loop while there are entries to be had */ @@ -349,10 +350,11 @@ #endif putchar (' '); + tmp_time = rec->ac_btime; printf (" %-8.8s %-8.8s %6.2f secs %-16.16s\n", this_uid, this_dev, ((ut + st) / (double) ahz), - ctime (&rec->ac_btime)); + ctime (&tmp_time)); } } } --- pacct_rd.c +++ pacct_rd.c @@ -61,6 +61,7 @@ void print_pacct_record (struct acct *rec, FILE *out) { + time_t tmp_time; fprintf (stddebug, "%-*.*s|", COMM_LEN, COMM_LEN, rec->ac_comm); #define NUM_FORMAT "%6.1f" @@ -117,7 +118,8 @@ ); #endif - fprintf (stddebug, "%s", ctime ((time_t *) &(rec->ac_btime))); + tmp_time = rec->ac_btime; + fprintf (stddebug, "%s", ctime (&tmp_time)); } --- utmp_rd.c +++ utmp_rd.c @@ -67,6 +67,7 @@ void print_utmp_record (struct utmp *rec, FILE *out) { + time_t tmp_time; if (rec) { fprintf (out, "%-*.*s|%-*.*s|", @@ -117,8 +118,8 @@ #ifdef HAVE_UT_HOST fprintf (out, "%-*.*s|", HOST_LEN, HOST_LEN, rec->ut_host); #endif - - fputs (ctime ((time_t *) &(rec->ut_time)), out); + tmp_time = rec->ut_time; + fputs (ctime (&tmp_time), out); } }