X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Floginctl.c;h=2aedbcf9225c6cc14458ac7319592b3500f0109a;hb=cc3f2093f622c04d12d287689d37d861ded41360;hp=cb05907ff12dc97cf62c523475663e6b1eed2d0f;hpb=f8f14b3654bcd8d6c6cfd118e50775f6a2328a35;p=elogind.git diff --git a/src/login/loginctl.c b/src/login/loginctl.c index cb05907ff..2aedbcf92 100644 --- a/src/login/loginctl.c +++ b/src/login/loginctl.c @@ -53,7 +53,6 @@ static char *arg_host = NULL; static void pager_open_if_enabled(void) { - /* Cache result before we open the pager */ if (arg_no_pager) return; @@ -67,12 +66,10 @@ static void polkit_agent_open_if_enabled(void) { if (!arg_ask_password) return; - polkit_agent_open(); -} + if (arg_transport != BUS_TRANSPORT_LOCAL) + return; -static int log_parse_error(int r) { - log_error("Failed to parse message: %s", strerror(-r)); - return r; + polkit_agent_open(); } static int list_sessions(sd_bus *bus, char **args, unsigned n) { @@ -100,7 +97,7 @@ static int list_sessions(sd_bus *bus, char **args, unsigned n) { r = sd_bus_message_enter_container(reply, 'a', "(susso)"); if (r < 0) - return log_parse_error(r); + return bus_log_parse_error(r); printf("%10s %10s %-16s %-16s\n", "SESSION", "UID", "USER", "SEAT"); @@ -109,7 +106,7 @@ static int list_sessions(sd_bus *bus, char **args, unsigned n) { k++; } if (r < 0) - return log_parse_error(r); + return bus_log_parse_error(r); printf("\n%u sessions listed.\n", k); @@ -141,7 +138,7 @@ static int list_users(sd_bus *bus, char **args, unsigned n) { r = sd_bus_message_enter_container(reply, 'a', "(uso)"); if (r < 0) - return log_parse_error(r); + return bus_log_parse_error(r); printf("%10s %-16s\n", "UID", "USER"); @@ -150,7 +147,7 @@ static int list_users(sd_bus *bus, char **args, unsigned n) { k++; } if (r < 0) - return log_parse_error(r); + return bus_log_parse_error(r); printf("\n%u users listed.\n", k); @@ -181,7 +178,7 @@ static int list_seats(sd_bus *bus, char **args, unsigned n) { r = sd_bus_message_enter_container(reply, 'a', "(so)"); if (r < 0) - return log_parse_error(r); + return bus_log_parse_error(r); printf("%-16s\n", "SEAT"); @@ -190,7 +187,7 @@ static int list_seats(sd_bus *bus, char **args, unsigned n) { k++; } if (r < 0) - return log_parse_error(r); + return bus_log_parse_error(r); printf("\n%u seats listed.\n", k); @@ -372,9 +369,9 @@ static int print_session_status_info(sd_bus *bus, const char *path) { {} }; - SessionStatusInfo i = {}; char since1[FORMAT_TIMESTAMP_RELATIVE_MAX], *s1; char since2[FORMAT_TIMESTAMP_MAX], *s2; + SessionStatusInfo i = {}; int r; r = bus_map_all_properties(bus, "org.freedesktop.login1", path, map, &i); @@ -527,8 +524,8 @@ static int print_seat_status_info(sd_bus *bus, const char *path) { static const struct bus_properties_map map[] = { { "Id", "s", NULL, offsetof(SeatStatusInfo, id) }, - { "ActiveSession", "(so)", &prop_map_first_of_struct, offsetof(SeatStatusInfo, active_session) }, - { "Sessions", "a(so)", &prop_map_sessions_strv, offsetof(SeatStatusInfo, sessions) }, + { "ActiveSession", "(so)", prop_map_first_of_struct, offsetof(SeatStatusInfo, active_session) }, + { "Sessions", "a(so)", prop_map_sessions_strv, offsetof(SeatStatusInfo, sessions) }, {} }; @@ -620,7 +617,7 @@ static int show_session(sd_bus *bus, char **args, unsigned n) { r = sd_bus_message_read(reply, "o", &path); if (r < 0) - return log_parse_error(r); + return bus_log_parse_error(r); if (show_properties) r = bus_print_all_properties(bus, "org.freedesktop.login1", path, NULL, arg_all); @@ -687,7 +684,7 @@ static int show_user(sd_bus *bus, char **args, unsigned n) { r = sd_bus_message_read(reply, "o", &path); if (r < 0) - return log_parse_error(r); + return bus_log_parse_error(r); if (show_properties) r = bus_print_all_properties(bus, "org.freedesktop.login1", path, NULL, arg_all); @@ -747,7 +744,7 @@ static int show_seat(sd_bus *bus, char **args, unsigned n) { r = sd_bus_message_read(reply, "o", &path); if (r < 0) - return log_parse_error(r); + return bus_log_parse_error(r); if (show_properties) r = bus_print_all_properties(bus, "org.freedesktop.login1", path, NULL, arg_all);