[PATCH 2/2] hwclock: set kernel timezone with --systz --utc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Even though --systz doesn't need to change the system clock when the
hardware clock is in UTC time (--systz --utc), it does need to set
the kernel timezone so that FAT timestamps, etc. will be correct.

Signed-off-by: Scott James Remnant <scott@xxxxxxxxxx>
---
 hwclock/hwclock.c |   19 ++++++++-----------
 1 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/hwclock/hwclock.c b/hwclock/hwclock.c
index 3a54934..5591d04 100644
--- a/hwclock/hwclock.c
+++ b/hwclock/hwclock.c
@@ -754,10 +754,10 @@ set_system_clock(const bool hclock_valid, const time_t newtime,
 
 
 static int
-set_system_clock_timezone(const bool testing) {
+set_system_clock_timezone(const bool universal, const bool testing) {
 /*----------------------------------------------------------------------------
    Reset the System Clock from local time to UTC, based on its current
-   value and the timezone.
+   value and the timezone unless universal is TRUE.
 
    Also set the kernel time zone value to the value indicated by the
    TZ environment variable and/or /usr/lib/zoneinfo/, interpreted as
@@ -792,7 +792,8 @@ set_system_clock_timezone(const bool testing) {
 #endif
 
   gettimeofday(&tv, NULL);
-  tv.tv_sec += minuteswest * 60;
+  if (!universal)
+    tv.tv_sec += minuteswest * 60;
 
   if (debug) {
     struct tm broken_time;
@@ -1232,14 +1233,10 @@ manipulate_clock(const bool show, const bool adjust, const bool noadjfile,
 	    return rc;
           }
 	} else if (systz) {
-	  if (!universal) {
-	    rc = set_system_clock_timezone(testing);
-	    if (rc) {
-	      printf(_("Unable to set system clock.\n"));
-	      return rc;
-	    }
-	  } else if (debug) {
-	    printf(_("Clock in UTC, not changed.\n"));
+	  rc = set_system_clock_timezone(universal, testing);
+	  if (rc) {
+	    printf(_("Unable to set system clock.\n"));
+	    return rc;
 	  }
         }
         if (!noadjfile)
-- 
1.6.3.3

--
To unsubscribe from this list: send the line "unsubscribe util-linux-ng" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux