X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Flogind-seat-dbus.c;h=82323d6b8770e796f796e8ec4c384f388dac2c6e;hb=22fdeadcc06e95fe41ac4de872ec245c0887547f;hp=26cddfea70f7e40bdb71e14f9b4efa3c5e27ffad;hpb=9bb69af4f2823fdd30902f5ffd959e9b041feb53;p=elogind.git diff --git a/src/login/logind-seat-dbus.c b/src/login/logind-seat-dbus.c index 26cddfea7..82323d6b8 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" @@ -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;