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=909007c30c95296588581140cad9e6462b5d6a32;hpb=49e6fdbf14b35d8840c3b263fd15259624b07818;p=elogind.git diff --git a/src/login/logind-seat-dbus.c b/src/login/logind-seat-dbus.c index 909007c30..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" @@ -201,7 +202,7 @@ static int method_terminate(sd_bus *bus, sd_bus_message *message, void *userdata assert(message); assert(s); - r = seat_stop_sessions(s); + r = seat_stop_sessions(s, true); if (r < 0) return r; @@ -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;