chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
timedatectl: show CanNTP field
[elogind.git]
/
src
/
timedate
/
timedatectl.c
diff --git
a/src/timedate/timedatectl.c
b/src/timedate/timedatectl.c
index 06b98b1061e2896b903a5f4cda1928c7fc4e50f4..bcd935a6c0436e4656df3f5c15c60e5616f3cd7d 100644
(file)
--- a/
src/timedate/timedatectl.c
+++ b/
src/timedate/timedatectl.c
@@
-23,6
+23,7
@@
#include <stdbool.h>
#include <unistd.h>
#include <getopt.h>
#include <stdbool.h>
#include <unistd.h>
#include <getopt.h>
+#include <locale.h>
#include <string.h>
#include <sys/timex.h>
#include <string.h>
#include <sys/timex.h>
@@
-50,7
+51,7
@@
static void pager_open_if_enabled(void) {
if (arg_no_pager)
return;
if (arg_no_pager)
return;
- pager_open();
+ pager_open(
false
);
}
static void polkit_agent_open_if_enabled(void) {
}
static void polkit_agent_open_if_enabled(void) {
@@
-67,6
+68,7
@@
typedef struct StatusInfo {
const char *timezone;
bool local_rtc;
bool ntp;
const char *timezone;
bool local_rtc;
bool ntp;
+ bool can_ntp;
} StatusInfo;
static bool ntp_synced(void) {
} StatusInfo;
static bool ntp_synced(void) {
@@
-123,12
+125,12
@@
static void print_status_info(StatusInfo *i) {
sec = (time_t) (n / USEC_PER_SEC);
zero(tm);
sec = (time_t) (n / USEC_PER_SEC);
zero(tm);
- assert_se(strftime(a, sizeof(a), "%a
,
%Y-%m-%d %H:%M:%S %Z", localtime_r(&sec, &tm)) > 0);
+ assert_se(strftime(a, sizeof(a), "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&sec, &tm)) > 0);
char_array_0(a);
printf(" Local time: %s\n", a);
zero(tm);
char_array_0(a);
printf(" Local time: %s\n", a);
zero(tm);
- assert_se(strftime(a, sizeof(a), "%a
,
%Y-%m-%d %H:%M:%S UTC", gmtime_r(&sec, &tm)) > 0);
+ assert_se(strftime(a, sizeof(a), "%a %Y-%m-%d %H:%M:%S UTC", gmtime_r(&sec, &tm)) > 0);
char_array_0(a);
printf(" Universal time: %s\n", a);
char_array_0(a);
printf(" Universal time: %s\n", a);
@@
-138,22
+140,21
@@
static void print_status_info(StatusInfo *i) {
/* Calculcate the week-day */
mktime(&tm);
/* Calculcate the week-day */
mktime(&tm);
- assert_se(strftime(a, sizeof(a), "%a
,
%Y-%m-%d %H:%M:%S", &tm) > 0);
+ assert_se(strftime(a, sizeof(a), "%a %Y-%m-%d %H:%M:%S", &tm) > 0);
char_array_0(a);
printf(" RTC time: %s\n", a);
}
zero(tm);
char_array_0(a);
printf(" RTC time: %s\n", a);
}
zero(tm);
- assert_se(strftime(a, sizeof(a), "%z", localtime_r(&sec, &tm)) > 0);
+ assert_se(strftime(a, sizeof(a), "%
Z, %
z", localtime_r(&sec, &tm)) > 0);
char_array_0(a);
char_array_0(a);
- printf(" Timezone: %s\n"
- " UTC offset: %s\n"
+ printf(" Timezone: %s (%s)\n"
" NTP enabled: %s\n"
"NTP synchronized: %s\n"
" RTC in local TZ: %s\n",
strna(i->timezone),
a,
" NTP enabled: %s\n"
"NTP synchronized: %s\n"
" RTC in local TZ: %s\n",
strna(i->timezone),
a,
-
yes_no(i->ntp)
,
+
i->can_ntp ? yes_no(i->ntp) : "n/a"
,
yes_no(ntp_synced()),
yes_no(i->local_rtc));
yes_no(ntp_synced()),
yes_no(i->local_rtc));
@@
-167,29
+168,29
@@
static void print_status_info(StatusInfo *i) {
t = tc - 1;
zero(tm);
t = tc - 1;
zero(tm);
- assert_se(strftime(a, sizeof(a), "%a
,
%Y-%m-%d %H:%M:%S %Z", localtime_r(&t, &tm)) > 0);
+ assert_se(strftime(a, sizeof(a), "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&t, &tm)) > 0);
char_array_0(a);
zero(tm);
char_array_0(a);
zero(tm);
- assert_se(strftime(b, sizeof(b), "%a
,
%Y-%m-%d %H:%M:%S %Z", localtime_r(&tc, &tm)) > 0);
+ assert_se(strftime(b, sizeof(b), "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&tc, &tm)) > 0);
char_array_0(b);
char_array_0(b);
- printf(" Last DST change:
%s → %s, DST became %s
\n"
+ printf(" Last DST change:
DST %s at
\n"
" %s\n"
" %s\n",
" %s\n"
" %s\n",
-
strna(zn), strna(zc), is_dstc ? "active" : "inactive
", a, b);
+
is_dstc ? "began" : "ended
", a, b);
t = tn - 1;
zero(tm);
t = tn - 1;
zero(tm);
- assert_se(strftime(a, sizeof(a), "%a
,
%Y-%m-%d %H:%M:%S %Z", localtime_r(&t, &tm)) > 0);
+ assert_se(strftime(a, sizeof(a), "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&t, &tm)) > 0);
char_array_0(a);
zero(tm);
char_array_0(a);
zero(tm);
- assert_se(strftime(b, sizeof(b), "%a
,
%Y-%m-%d %H:%M:%S %Z", localtime_r(&tn, &tm)) > 0);
+ assert_se(strftime(b, sizeof(b), "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&tn, &tm)) > 0);
char_array_0(b);
char_array_0(b);
- printf(" Next DST change:
%s → %s, DST will become %s, the clock will jump %s
\n"
+ printf(" Next DST change:
DST %s (the clock jumps %s) at
\n"
" %s\n"
" %s\n",
" %s\n"
" %s\n",
-
strna(zc), strna(zn), is_dstn ? "active" : "inactive
", jump_str(dn, s, sizeof(s)), a, b);
+
is_dstn ? "begins" : "ends
", jump_str(dn, s, sizeof(s)), a, b);
free(zc);
free(zn);
free(zc);
free(zn);
@@
-228,6
+229,8
@@
static int status_property(const char *name, DBusMessageIter *iter, StatusInfo *
i->local_rtc = b;
else if (streq(name, "NTP"))
i->ntp = b;
i->local_rtc = b;
else if (streq(name, "NTP"))
i->ntp = b;
+ else if (streq(name, "CanNTP"))
+ i->can_ntp = b;
}
}
}
}
@@
-425,7
+428,6
@@
static int list_timezones(DBusConnection *bus, char **args, unsigned n) {
_cleanup_fclose_ FILE *f = NULL;
_cleanup_strv_free_ char **zones = NULL;
size_t n_zones = 0;
_cleanup_fclose_ FILE *f = NULL;
_cleanup_strv_free_ char **zones = NULL;
size_t n_zones = 0;
- char **i;
assert(args);
assert(n == 1);
assert(args);
assert(n == 1);
@@
-487,8
+489,7
@@
static int list_timezones(DBusConnection *bus, char **args, unsigned n) {
pager_open_if_enabled();
strv_sort(zones);
pager_open_if_enabled();
strv_sort(zones);
- STRV_FOREACH(i, zones)
- puts(*i);
+ strv_print(zones);
return 0;
}
return 0;
}
@@
-551,7
+552,6
@@
static int parse_argv(int argc, char *argv[]) {
case ARG_VERSION:
puts(PACKAGE_STRING);
case ARG_VERSION:
puts(PACKAGE_STRING);
- puts(DISTRIBUTION);
puts(SYSTEMD_FEATURES);
return 0;
puts(SYSTEMD_FEATURES);
return 0;
@@
-677,6
+677,7
@@
int main(int argc, char *argv[]) {
dbus_error_init(&error);
dbus_error_init(&error);
+ setlocale(LC_ALL, "");
log_parse_environment();
log_open();
log_parse_environment();
log_open();