X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Ftimedate%2Ftimedatectl.c;h=4d898867362da47d33d8b843c9d025e348e14b0c;hp=36c3f3cfcd083d913d3dfe828de0a0df8188be84;hb=babc21fdc0c309e3f397fdb57fb3038b5bef654a;hpb=601185b43da638b1c74153deae01dbd518680889 diff --git a/src/timedate/timedatectl.c b/src/timedate/timedatectl.c index 36c3f3cfc..4d8988673 100644 --- a/src/timedate/timedatectl.c +++ b/src/timedate/timedatectl.c @@ -123,15 +123,11 @@ static void print_status_info(const StatusInfo *i) { fprintf(stderr, "Warning: Could not get time from timedated and not operating locally.\n\n"); if (have_time) { - zero(tm); - 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); - 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); + xstrftime(a, "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&sec, &tm)); + printf(" Local time: %.*s\n", (int) sizeof(a), a); + + xstrftime(a, "%a %Y-%m-%d %H:%M:%S UTC", gmtime_r(&sec, &tm)); + printf(" Universal time: %.*s\n", (int) sizeof(a), a); } else { printf(" Local time: %s\n", "n/a"); printf(" Universal time: %s\n", "n/a"); @@ -141,24 +137,19 @@ static void print_status_info(const StatusInfo *i) { time_t rtc_sec; rtc_sec = (time_t)(i->rtc_time / USEC_PER_SEC); - zero(tm); - assert_se(strftime(a, sizeof(a), "%a %Y-%m-%d %H:%M:%S", gmtime_r(&rtc_sec, &tm)) > 0); - char_array_0(a); - printf(" RTC time: %s\n", a); + xstrftime(a, "%a %Y-%m-%d %H:%M:%S", gmtime_r(&rtc_sec, &tm)); + printf(" RTC time: %.*s\n", (int) sizeof(a), a); } else printf(" RTC time: %s\n", "n/a"); - if (have_time) { - zero(tm); - assert_se(strftime(a, sizeof(a), "%Z, %z", localtime_r(&sec, &tm)) > 0); - char_array_0(a); - } + if (have_time) + xstrftime(a, "%Z, %z", localtime_r(&sec, &tm)); - printf(" Time zone: %s (%s)\n" + printf(" Time zone: %s (%.*s)\n" " NTP enabled: %s\n" "NTP synchronized: %s\n" " RTC in local TZ: %s\n", - strna(i->timezone), have_time ? a : "n/a", + strna(i->timezone), (int) sizeof(a), have_time ? a : "n/a", i->ntp_capable ? yes_no(i->ntp_enabled) : "n/a", yes_no(i->ntp_synced), yes_no(i->rtc_local)); @@ -173,30 +164,26 @@ static void print_status_info(const StatusInfo *i) { printf(" DST active: %s\n", yes_no(is_dstc)); t = tc - 1; - zero(tm); - assert_se(strftime(a, sizeof(a), "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&t, &tm)) > 0); - char_array_0(a); + xstrftime(a, "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&t, &tm)); - zero(tm); - assert_se(strftime(b, sizeof(b), "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&tc, &tm)) > 0); - char_array_0(b); + 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", a, b); + " %.*s\n" + " %.*s\n", + is_dstc ? "began" : "ended", + (int) sizeof(a), a, + (int) sizeof(b), b); t = tn - 1; - zero(tm); - 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); - assert_se(strftime(b, sizeof(b), "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&tn, &tm)) > 0); - char_array_0(b); + 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)), a, b); + " %.*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)); @@ -232,7 +219,7 @@ static int show_status(sd_bus *bus, char **args, unsigned n) { map, &info); if (r < 0) { - log_error("Failed to query server: %s", strerror(-r)); + log_error_errno(r, "Failed to query server: %m"); goto fail; } @@ -363,10 +350,8 @@ static int list_timezones(sd_bus *bus, char **args, unsigned n) { assert(n == 1); r = get_timezones(&zones); - if (r < 0) { - log_error("Failed to read list of time zones: %s", strerror(-r)); - return r; - } + if (r < 0) + return log_error_errno(r, "Failed to read list of time zones: %m"); pager_open_if_enabled(); strv_print(zones); @@ -438,7 +423,7 @@ static int parse_argv(int argc, char *argv[]) { break; case 'M': - arg_transport = BUS_TRANSPORT_CONTAINER; + arg_transport = BUS_TRANSPORT_MACHINE; arg_host = optarg; break; @@ -545,7 +530,7 @@ static int timedatectl_main(sd_bus *bus, int argc, char *argv[]) { } int main(int argc, char *argv[]) { - _cleanup_bus_unref_ sd_bus *bus = NULL; + _cleanup_bus_close_unref_ sd_bus *bus = NULL; int r; setlocale(LC_ALL, ""); @@ -558,7 +543,7 @@ int main(int argc, char *argv[]) { r = bus_open_transport(arg_transport, arg_host, false, &bus); if (r < 0) { - log_error("Failed to create bus connection: %s", strerror(-r)); + log_error_errno(r, "Failed to create bus connection: %m"); goto finish; }