chiark / gitweb /
logind,machined,run: properly invoke StartTransientUnit() bus call
[elogind.git] / src / machine / machinectl.c
index 7feb7be3da69fb7f5f27052dd479901acd3eb996..a1890aa855a82a389a37ca6c4f14d9e20828ab60 100644 (file)
@@ -84,8 +84,7 @@ static int list_machines(sd_bus *bus, char **args, unsigned n) {
                 return r;
         }
 
-        if (on_tty())
-                printf("%-32s %-9s %-16s\n", "MACHINE", "CONTAINER", "SERVICE");
+        printf("%-32s %-9s %-16s\n", "MACHINE", "CONTAINER", "SERVICE");
 
         r = sd_bus_message_enter_container(reply, SD_BUS_TYPE_ARRAY, "(ssso)");
         if (r < 0)
@@ -103,8 +102,7 @@ static int list_machines(sd_bus *bus, char **args, unsigned n) {
         if (r < 0)
                 return bus_log_parse_error(r);
 
-        if (on_tty())
-                printf("\n%u machines listed.\n", k);
+        printf("\n%u machines listed.\n", k);
 
         return 0;
 }
@@ -228,7 +226,7 @@ static void print_machine_status_info(sd_bus *bus, MachineStatusInfo *i) {
 }
 
 static int show_info(const char *verb, sd_bus *bus, const char *path, bool *new_line) {
-        MachineStatusInfo info = {};
+
         static const struct bus_properties_map map[]  = {
                 { "Name",          "s",  NULL,          offsetof(MachineStatusInfo, name) },
                 { "Class",         "s",  NULL,          offsetof(MachineStatusInfo, class) },
@@ -240,6 +238,8 @@ static int show_info(const char *verb, sd_bus *bus, const char *path, bool *new_
                 { "Id",            "ay", bus_map_id128, offsetof(MachineStatusInfo, id) },
                 {}
         };
+
+        MachineStatusInfo info = {};
         int r;
 
         assert(path);
@@ -605,6 +605,8 @@ static int login_machine(sd_bus *bus, char **args, unsigned n) {
                 return r;
         }
 
+        container_bus = sd_bus_unref(container_bus);
+
         assert_se(sigemptyset(&mask) == 0);
         sigset_add_many(&mask, SIGWINCH, SIGTERM, SIGINT, -1);
         assert_se(sigprocmask(SIG_BLOCK, &mask, NULL) == 0);