X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Floginctl.c;h=cfbc5fe02b7be66060c765f96fd6f4832b71a0ce;hb=240dbaa44f8e5ad51775c776fc3ce9cd2f19f037;hp=0d9358d279cb395b1645bc9637beecf532a69727;hpb=6d0274f11547a0f11200bb82bf598a5a253e12cf;p=elogind.git diff --git a/src/login/loginctl.c b/src/login/loginctl.c index 0d9358d27..cfbc5fe02 100644 --- a/src/login/loginctl.c +++ b/src/login/loginctl.c @@ -25,6 +25,7 @@ #include #include #include +#include #include "log.h" #include "util.h" @@ -50,26 +51,9 @@ static enum transport { static bool arg_ask_password = true; static const char *arg_host = NULL; -static bool on_tty(void) { - static int t = -1; - - /* Note that this is invoked relatively early, before we start - * the pager. That means the value we return reflects whether - * we originally were started on a tty, not if we currently - * are. But this is intended, since we want colour and so on - * when run in our own pager. */ - - if (_unlikely_(t < 0)) - t = isatty(STDOUT_FILENO) > 0; - - return t; -} - static void pager_open_if_enabled(void) { /* Cache result before we open the pager */ - on_tty(); - if (arg_no_pager) return; @@ -339,7 +323,7 @@ typedef struct SeatStatusInfo { } SeatStatusInfo; static void print_session_status_info(SessionStatusInfo *i) { - char since1[FORMAT_TIMESTAMP_PRETTY_MAX], *s1; + char since1[FORMAT_TIMESTAMP_RELATIVE_MAX], *s1; char since2[FORMAT_TIMESTAMP_MAX], *s2; assert(i); @@ -350,7 +334,7 @@ static void print_session_status_info(SessionStatusInfo *i) { else printf("%u\n", (unsigned) i->uid); - s1 = format_timestamp_pretty(since1, sizeof(since1), i->timestamp); + s1 = format_timestamp_relative(since1, sizeof(since1), i->timestamp); s2 = format_timestamp(since2, sizeof(since2), i->timestamp); if (s1) @@ -434,7 +418,7 @@ static void print_session_status_info(SessionStatusInfo *i) { } static void print_user_status_info(UserStatusInfo *i) { - char since1[FORMAT_TIMESTAMP_PRETTY_MAX], *s1; + char since1[FORMAT_TIMESTAMP_RELATIVE_MAX], *s1; char since2[FORMAT_TIMESTAMP_MAX], *s2; assert(i); @@ -443,7 +427,7 @@ static void print_user_status_info(UserStatusInfo *i) { else printf("%u\n", (unsigned) i->uid); - s1 = format_timestamp_pretty(since1, sizeof(since1), i->timestamp); + s1 = format_timestamp_relative(since1, sizeof(since1), i->timestamp); s2 = format_timestamp(since2, sizeof(since2), i->timestamp); if (s1) @@ -979,8 +963,7 @@ static int show(DBusConnection *bus, char **args, unsigned n) { show_properties = !strstr(args[0], "status"); - if (show_properties) - pager_open_if_enabled(); + pager_open_if_enabled(); if (show_properties && n <= 1) { /* If not argument is specified inspect the manager @@ -1586,6 +1569,7 @@ int main(int argc, char*argv[]) { dbus_error_init(&error); + setlocale(LC_ALL, ""); log_parse_environment(); log_open();