X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flogin%2Flogind-seat-dbus.c;h=1a2f09c615d97ec016e154d49f3c25d1ab45633c;hp=26cddfea70f7e40bdb71e14f9b4efa3c5e27ffad;hb=75e52a16f9ef476f1d18ec6d9c84e00149b80d03;hpb=9bb69af4f2823fdd30902f5ffd959e9b041feb53 diff --git a/src/login/logind-seat-dbus.c b/src/login/logind-seat-dbus.c index 26cddfea7..1a2f09c61 100644 --- a/src/login/logind-seat-dbus.c +++ b/src/login/logind-seat-dbus.c @@ -27,6 +27,7 @@ #include "bus-util.h" #include "strv.h" #include "bus-errors.h" +#include "bus-label.h" #include "logind.h" #include "logind-seat.h" @@ -328,7 +329,7 @@ int seat_object_find(sd_bus *bus, const char *path, const char *interface, void Session *session; pid_t pid; - message = sd_bus_get_current(bus); + message = sd_bus_get_current_message(bus); if (!message) return 0; @@ -356,7 +357,7 @@ int seat_object_find(sd_bus *bus, const char *path, const char *interface, void if (!p) return 0; - e = sd_bus_label_unescape(p); + e = bus_label_unescape(p); if (!e) return -ENOMEM; @@ -374,7 +375,7 @@ char *seat_bus_path(Seat *s) { assert(s); - t = sd_bus_label_escape(s->id); + t = bus_label_escape(s->id); if (!t) return NULL; @@ -399,11 +400,9 @@ int seat_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;