]> granicus.if.org Git - sysstat/commitdiff
Merge get_locatime() and get_gmtime() functions
authorSebastien GODARD <sysstat@users.noreply.github.com>
Sun, 18 Sep 2022 08:35:42 +0000 (10:35 +0200)
committerSebastien GODARD <sysstat@users.noreply.github.com>
Sun, 18 Sep 2022 08:35:42 +0000 (10:35 +0200)
Signed-off-by: Sebastien GODARD <sysstat@users.noreply.github.com>
cifsiostat.c
common.c
common.h
iostat.c
mpstat.c
pidstat.c
tapestat.c

index 03be68ae495bde27a868fd852c38d7d4b2f8a5db..b33fb37da3c427ba863e928ea57a3580ad3b96b0 100644 (file)
@@ -461,7 +461,7 @@ void rw_io_stat_loop(long int count, struct tm *rectime)
                read_cifs_stat(curr);
 
                /* Get time */
-               get_localtime(rectime, 0);
+               get_xtime(rectime, 0, LOCAL_TIME);
 
                /* Print results */
                write_stats(curr, rectime);
@@ -601,7 +601,7 @@ int main(int argc, char **argv)
        /* How many processors on this machine? */
        cpu_nr = get_cpu_nr(~0, FALSE);
 
-       get_localtime(&rectime, 0);
+       get_xtime(&rectime, 0, LOCAL_TIME);
 
        /*
         * Don't buffer data if redirected to a pipe.
index b92be22973ecb2b334ea81976f6a66ec7e73b631..81c7762444782235f6bf80597b6829aca6362f2c 100644 (file)
--- a/common.c
+++ b/common.c
@@ -87,50 +87,34 @@ void print_version(void)
 
 /*
  ***************************************************************************
- * Get local date and time.
+ * Get date and time, expressed in UTC or in local time.
  *
  * IN:
  * @d_off      Day offset (number of days to go back in the past).
+ * @utc                TRUE if date and time shall be expressed in UTC.
  *
  * OUT:
  * @rectime    Current local date and time.
  *
  * RETURNS:
- * Value of time in seconds since the Epoch.
+ * Value of time in seconds since the Epoch (always in UTC)
  ***************************************************************************
  */
-time_t get_localtime(struct tm *rectime, int d_off)
+time_t get_xtime(struct tm *rectime, int d_off, int utc)
 {
        time_t timer;
 
        timer = __time(NULL);
        timer -= SEC_PER_DAY * d_off;
-       localtime_r(&timer, rectime);
-
-       return timer;
-}
 
-/*
- ***************************************************************************
- * Get date and time expressed in UTC.
- *
- * IN:
- * @d_off      Day offset (number of days to go back in the past).
- *
- * OUT:
- * @rectime    Current date and time expressed in UTC.
- *
- * RETURNS:
- * Value of time in seconds since the Epoch.
- ***************************************************************************
- */
-time_t get_gmtime(struct tm *rectime, int d_off)
-{
-       time_t timer;
-
-       timer = __time(NULL);
-       timer -= SEC_PER_DAY * d_off;
-       gmtime_r(&timer, rectime);
+       if (utc) {
+               /* Get date and time in UTC */
+               gmtime_r(&timer, rectime);
+       }
+       else {
+               /* Get date and time in local time */
+               localtime_r(&timer, rectime);
+       }
 
        return timer;
 }
@@ -162,10 +146,7 @@ time_t get_time(struct tm *rectime, int d_off)
                utc++;
        }
 
-       if (utc == 2)
-               return get_gmtime(rectime, d_off);
-       else
-               return get_localtime(rectime, d_off);
+       return get_xtime(rectime, d_off, utc == 2);
 }
 
 #ifdef USE_NLS
index 7efc7caae8751ecee6651afe26f76aeb02ccbbf0..55b6657d8665f584ad055e6b5b86718bb611aa2f 100644 (file)
--- a/common.h
+++ b/common.h
 
 #define IGNORE_VIRTUAL_DEVICES FALSE
 #define ACCEPT_VIRTUAL_DEVICES TRUE
+#define LOCAL_TIME             FALSE
 
 /* Environment variables */
 #define ENV_TIME_FMT           "S_TIME_FORMAT"
@@ -241,8 +242,8 @@ void get_HZ
        (void);
 void get_kb_shift
        (void);
-time_t get_localtime
-       (struct tm *, int);
+time_t get_xtime
+       (struct tm *, int, int);
 time_t get_time
        (struct tm *, int);
 void init_nls
index 03f56234a020e49174fc15aa23c4bf30e1443607..b490bc1ae71be038550b2e36eee20d317782e35a 100644 (file)
--- a/iostat.c
+++ b/iostat.c
@@ -2013,7 +2013,7 @@ void rw_io_stat_loop(long int count, struct tm *rectime)
                }
 
                /* Get time */
-               get_localtime(rectime, 0);
+               get_xtime(rectime, 0, LOCAL_TIME);
 
                /* Print results */
                write_stats(curr, rectime, skip);
@@ -2379,7 +2379,7 @@ int main(int argc, char **argv)
        /* How many processors on this machine? */
        cpu_nr = get_cpu_nr(~0, FALSE);
 
-       get_localtime(&rectime, 0);
+       get_xtime(&rectime, 0, LOCAL_TIME);
 
        /*
         * Don't buffer data if redirected to a pipe.
index d48f076fa3723952db2cc3997e5947632c3c5f21..103241003631ba25bfb37b6f39103c561669c0d3 100644 (file)
--- a/mpstat.c
+++ b/mpstat.c
@@ -2069,7 +2069,7 @@ void rw_mpstat_loop(int dis_hdr, int rows)
                memset(st_cpu[curr], 0, STATS_CPU_SIZE * (cpu_nr + 1));
 
                /* Get time */
-               get_localtime(&(mp_tstamp[curr]), 0);
+               get_xtime(&(mp_tstamp[curr]), 0, LOCAL_TIME);
 
                /* Read uptime and CPU stats */
                read_uptime(&(uptime_cs[curr]));
@@ -2379,7 +2379,7 @@ int main(int argc, char **argv)
        }
 
        /* Get time */
-       get_localtime(&(mp_tstamp[0]), 0);
+       get_xtime(&(mp_tstamp[0]), 0, LOCAL_TIME);
 
        /*
         * Don't buffer data if redirected to a pipe.
index 4026e27bcb4b126e43968b1a5b27cd0182cffc68..7e302d5070b5c7253a662962563690105163fda0 100644 (file)
--- a/pidstat.c
+++ b/pidstat.c
@@ -2414,7 +2414,7 @@ void rw_pidstat_loop(int dis_hdr, int rows)
                set_pid_nonexistent(pid_list);
 
                /* Get time */
-               get_localtime(&ps_tstamp[curr], 0);
+               get_xtime(&ps_tstamp[curr], 0, LOCAL_TIME);
 
                /* Read system uptime (in 1/100th of a second) */
                read_uptime(&(uptime_cs[curr]));
@@ -2809,7 +2809,7 @@ int main(int argc, char **argv)
        }
 
        /* Get time */
-       get_localtime(&(ps_tstamp[0]), 0);
+       get_xtime(&(ps_tstamp[0]), 0, LOCAL_TIME);
 
        /*
         * Don't buffer data if redirected to a pipe.
index e3d57adcde54519dae0add0b41629b6d78e68979..e0f27696e7c640a8dc1326e687d25ce8b1f26353 100644 (file)
@@ -569,7 +569,7 @@ void rw_tape_stat_loop(long int count, struct tm *rectime)
                }
 
                /* Get time */
-               get_localtime(rectime, 0);
+               get_xtime(rectime, 0, LOCAL_TIME);
 
                /* Check whether we should skip first report */
                if (!skip) {
@@ -699,7 +699,7 @@ int main(int argc, char **argv)
 
        tape_initialise();
 
-       get_localtime(&rectime, 0);
+       get_xtime(&rectime, 0, LOCAL_TIME);
 
        /*
         * Don't buffer data if redirected to a pipe.