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
committerSven Eden <yamakuzure@gmx.net>2017-07-17 17:58:35 +0200
commitf034e0b6a2f484db743175a5e4a18e49b6aa5012 (patch)
tree1d2569356d1763d5361039488747fc32cf8c41ba /src/shared/bus-util.c
parent9a607c42cc952ff9e45e639de4646772a940b4d4 (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 2d1b3b965..0b77d3f85 100644
--- a/src/shared/bus-util.c
+++ b/src/shared/bus-util.c
@@ -1600,3 +1600,22 @@ int bus_property_get_rlimit(
return sd_bus_message_append(reply, "t", u);
}
#endif // 0
+
+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;
+}