File acct-6.3.5-time-fix.diff of Package acct

--- 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);
     }
 }
 
openSUSE Build Service is sponsored by