chiark / gitweb /
sd-bus: introduce sd_bus_slot objects encapsulating callbacks or vtables attached...
[elogind.git] / src / machine / machine-dbus.c
index df96ccf9d480c7acf7a226622cf39fc500c01eaf..83ef82d2e02818c7da804b51e10b7c67eaf58fd7 100644 (file)
@@ -24,6 +24,7 @@
 #include <sys/capability.h>
 
 #include "bus-util.h"
+#include "bus-label.h"
 #include "strv.h"
 #include "machine.h"
 
@@ -159,7 +160,7 @@ int machine_object_find(sd_bus *bus, const char *path, const char *interface, vo
                 sd_bus_message *message;
                 pid_t pid;
 
-                message = sd_bus_get_current(bus);
+                message = sd_bus_get_current_message(bus);
                 if (!message)
                         return 0;
 
@@ -182,7 +183,7 @@ int machine_object_find(sd_bus *bus, const char *path, const char *interface, vo
                 if (!p)
                         return 0;
 
-                e = sd_bus_label_unescape(p);
+                e = bus_label_unescape(p);
                 if (!e)
                         return -ENOMEM;
 
@@ -200,7 +201,7 @@ char *machine_bus_path(Machine *m) {
 
         assert(m);
 
-        e = sd_bus_label_escape(m->name);
+        e = bus_label_escape(m->name);
         if (!e)
                 return NULL;
 
@@ -225,11 +226,9 @@ int machine_node_enumerator(sd_bus *bus, const char *path, void *userdata, char
                 if (!p)
                         return -ENOMEM;
 
-                r = strv_push(&l, p);
-                if (r < 0) {
-                        free(p);
+                r = strv_consume(&l, p);
+                if (r < 0)
                         return r;
-                }
         }
 
         *nodes = l;