Blob Blame History Raw
diff -up acct-6.5.1/lastcomm.c.hz acct-6.5.1/lastcomm.c
--- acct-6.5.1/lastcomm.c.hz	2009-09-06 01:39:50.000000000 +0200
+++ acct-6.5.1/lastcomm.c	2009-12-18 15:24:13.000000000 +0100
@@ -43,6 +43,9 @@ MA 02139, USA.  */
 #  include <time.h>
 # endif
 #endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
 
 #include <pwd.h>
 
@@ -73,6 +76,7 @@ char *program_name;		/* name of the prog
 
 int show_paging = 0;		/* If they want paging stats, print 'em */
 
+static unsigned int hzval;
 
 /* Here are various lists for the user to specify entries that they
    want to see.  */
@@ -100,6 +104,8 @@ int main(int argc, char *argv[])
   					 `-f' or `--file' flag */
   int backwards = 1; /* default to reading backwards */
 
+  hzval = sysconf(_SC_CLK_TCK);
+
   program_name = argv[0];
 
   while (1)
@@ -396,7 +402,7 @@ void parse_entries(void)
 #ifdef LINUX_MULTIFORMAT
                          ((ut + st) / (double) rec->ac_ahz),
 #else
-                         ((ut + st) / (double) ahz),
+                         ((ut + st) / (double) hzval),
 #endif
                          ctime (&btime));
           else
@@ -406,7 +412,7 @@ void parse_entries(void)
 #ifdef LINUX_MULTIFORMAT
                          ((ut + st) / (double) rec->ac_ahz),
 #else
-                         ((ut + st) / (double) ahz),
+                         ((ut + st) / (double) hzval),
 #endif
                          ctime (&btime));
 #else
diff -up acct-6.5.1/sa.c.hz acct-6.5.1/sa.c
--- acct-6.5.1/sa.c.hz	2009-09-06 17:54:56.000000000 +0200
+++ acct-6.5.1/sa.c	2009-12-18 15:25:54.000000000 +0100
@@ -253,6 +253,7 @@ int print_all_records = 0;	/* don't lump
 				   "***other" category */
 int always_yes = 0;		/* nonzero means always answer yes to
 				   a query */
+static unsigned int hzval;
 
 /* prototypes */
 
@@ -281,6 +282,7 @@ int main(int argc, char *argv[])
 {
   int c;
 
+  static unsigned int hzval;
   program_name = argv[0];
 
   /* Cache the page size of the machine for the PAGES_TO_KB macro */
@@ -598,7 +600,7 @@ int main(int argc, char *argv[])
 
   if (debugging_enabled)
     {
-      (void)fprintf (stddebug, "AHZ -> %d\n", ahz);
+      (void)fprintf (stddebug, "hzval -> %d\n", hzval);
       (void)fprintf (stddebug, "getpagesize() -> %d\n", getpagesize ());
       (void)fprintf (stddebug, "system_page_size == %.2f\n", system_page_size);
     }
@@ -962,7 +964,7 @@ static void print_stats_nicely (struct s
       /* Christoph Badura <bad@flatlin.ka.sub.org> says:
       *
       * The k*sec statistic is computed as
-      * ((ac_utime+ac_stime)*pages_to_kbytes(ac_mem))/AHZ.  Of course you
+      * ((ac_utime+ac_stime)*pages_to_kbytes(ac_mem))/hzval.  Of course you
       * need to expand the comp_t values.
       *
       * PAGES_TO_KBYTES(x) simply divides x by (getpagesize()/1024).  Of
@@ -1176,19 +1178,19 @@ void parse_acct_entries (void)
   while ((rec = pacct_get_entry ()) != NULL)
     {
 #ifdef HAVE_ACUTIME
-      double ut = comp_t_2_double (rec->ac_utime) / CURR_AHZ;
+      double ut = comp_t_2_double (rec->ac_utime) / (double) hzval;
 #endif
 
 #ifdef HAVE_ACSTIME
-      double st = comp_t_2_double (rec->ac_stime) / CURR_AHZ;
+      double st = comp_t_2_double (rec->ac_stime) / (double) hzval;
 #endif
 
 #ifdef HAVE_ACETIME
-      double et = ACETIME_2_DOUBLE (rec->ac_etime) / CURR_AHZ;
+      double et = comp_t_2_double (rec->ac_etime) / (double) hzval;
 #endif
 
 #ifdef HAVE_ACIO
-      double di = comp_t_2_double (rec->ac_io) / CURR_AHZ;
+      double di = comp_t_2_double (rec->ac_io) / (double) hzval;
 #endif
 
 #ifdef HAVE_ACMEM