summaryrefslogtreecommitdiff
path: root/src/timedate/timedatectl.c
diff options
context:
space:
mode:
authorKay Sievers <kay@vrfy.org>2015-03-24 13:52:04 +0100
committerKay Sievers <kay@vrfy.org>2015-03-24 15:03:36 +0100
commit16c6ea29348ddac73998f339166f863bee0dfef6 (patch)
tree03cc2575b9c645eb22a92d09b072dc945cfe16de /src/timedate/timedatectl.c
parent3e5e74d5b7f6fcbeff7b6e4e06abd931aab14c48 (diff)
downloadsystemd-16c6ea29348ddac73998f339166f863bee0dfef6.tar.gz
timedate: remove daylight saving time handling and tzfile parser
We planned to support (the conceptually broken) daylight saving time/local time features in the kernel, SCSI, networking, FAT filesystem, but it turned out to be a race we cannot win and do not want to get involved. Systemd should not fiddle with daylight saving time or parse timezone information itself. Leave everything to glibc or tools like date(1) and do not make any promises or raise expectations that systemd should handle anything like this.
Diffstat (limited to 'src/timedate/timedatectl.c')
-rw-r--r--src/timedate/timedatectl.c56
1 files changed, 0 insertions, 56 deletions
diff --git a/src/timedate/timedatectl.c b/src/timedate/timedatectl.c
index 44d329ecc2..ab5c8a1f6a 100644
--- a/src/timedate/timedatectl.c
+++ b/src/timedate/timedatectl.c
@@ -33,7 +33,6 @@
#include "build.h"
#include "strv.h"
#include "pager.h"
-#include "time-dst.h"
static bool arg_no_pager = false;
static bool arg_ask_password = true;
@@ -73,33 +72,12 @@ typedef struct StatusInfo {
bool ntp_synced;
} StatusInfo;
-static const char *jump_str(int delta_minutes, char *s, size_t size) {
- if (delta_minutes == 60)
- return "one hour forward";
- if (delta_minutes == -60)
- return "one hour backwards";
- if (delta_minutes < 0) {
- snprintf(s, size, "%i minutes backwards", -delta_minutes);
- return s;
- }
- if (delta_minutes > 0) {
- snprintf(s, size, "%i minutes forward", delta_minutes);
- return s;
- }
- return "";
-}
-
static void print_status_info(const StatusInfo *i) {
char a[FORMAT_TIMESTAMP_MAX];
- char b[FORMAT_TIMESTAMP_MAX];
- char s[32];
struct tm tm;
time_t sec;
bool have_time = false;
_cleanup_free_ char *zc = NULL, *zn = NULL;
- time_t t, tc, tn;
- int dn = 0;
- bool is_dstc = false, is_dstn = false;
int r;
assert(i);
@@ -158,40 +136,6 @@ static void print_status_info(const StatusInfo *i) {
yes_no(i->ntp_synced),
yes_no(i->rtc_local));
- if (have_time) {
- r = time_get_dst(sec, "/etc/localtime",
- &tc, &zc, &is_dstc,
- &tn, &dn, &zn, &is_dstn);
- if (r < 0)
- printf(" DST active: %s\n", "n/a");
- else {
- printf(" DST active: %s\n", yes_no(is_dstc));
-
- t = tc - 1;
- xstrftime(a, "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&t, &tm));
-
- xstrftime(b, "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&tc, &tm));
- printf(" Last DST change: DST %s at\n"
- " %.*s\n"
- " %.*s\n",
- is_dstc ? "began" : "ended",
- (int) sizeof(a), a,
- (int) sizeof(b), b);
-
- t = tn - 1;
- xstrftime(a, "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&t, &tm));
- xstrftime(b, "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&tn, &tm));
- printf(" Next DST change: DST %s (the clock jumps %s) at\n"
- " %.*s\n"
- " %.*s\n",
- is_dstn ? "begins" : "ends",
- jump_str(dn, s, sizeof(s)),
- (int) sizeof(a), a,
- (int) sizeof(b), b);
- }
- } else
- printf(" DST active: %s\n", yes_no(is_dstc));
-
if (i->rtc_local)
fputs("\n" ANSI_HIGHLIGHT_ON
"Warning: The system is configured to read the RTC time in the local time zone. This\n"