chiark / gitweb /
shared: split out code for adding multiple names to sd_bus_track object
[elogind.git] / src / shared / bus-util.c
index 2d1b3b9654061bbc7fda308ffb0f880b987840de..0b77d3f85d411548b2fbe91ccd714721d000908b 100644 (file)
@@ -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;
+}