summaryrefslogtreecommitdiff
path: root/src/shared/bus-util.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2016-11-15 19:18:36 +0100
committerLennart Poettering <lennart@poettering.net>2016-11-16 15:03:26 +0100
commit984794baf4af59da7f2496ecab33f2596d6619ff (patch)
tree97cecd77f21e7e48203656d81ad0657c879d716e /src/shared/bus-util.c
parentafc402b76a4520997a7c831a943be75e3072b301 (diff)
shared: split out code for adding multiple names to sd_bus_track object
Let's introduce a new call bus_track_add_name_many() that adds a string list to a tracking object.
Diffstat (limited to 'src/shared/bus-util.c')
-rw-r--r--src/shared/bus-util.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
index e7b1b1cb20..6aebe18fc0 100644
--- a/src/shared/bus-util.c
+++ b/src/shared/bus-util.c
@@ -1583,3 +1583,22 @@ int bus_property_get_rlimit(
return sd_bus_message_append(reply, "t", u);
}
+
+int bus_track_add_name_many(sd_bus_track *t, char **l) {
+ int r = 0;
+ char **i;
+
+ assert(t);
+
+ /* Continues adding after failure, and returns the first failure. */
+
+ STRV_FOREACH(i, l) {
+ int k;
+
+ k = sd_bus_track_add_name(t, *i);
+ if (k < 0 && r >= 0)
+ r = k;
+ }
+
+ return r;
+}