]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
bus-util: unify loop around bus_append_unit_property_assignment()
authorLennart Poettering <lennart@poettering.net>
Fri, 5 Aug 2016 16:32:42 +0000 (18:32 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 18 Aug 2016 20:23:31 +0000 (22:23 +0200)
This is done exactly the same way a couple of times at various places, let's
unify this into one version.

src/nspawn/nspawn-register.c
src/run/run.c
src/shared/bus-unit-util.c
src/shared/bus-unit-util.h
src/systemctl/systemctl.c

index e5b76a0c5db265e15d4ba46da69d98e0e3800d1d..06c56d9ec88581373b78f00e007aa20df2d407f5 100644 (file)
@@ -68,7 +68,6 @@ int register_machine(
                                 local_ifindex > 0 ? 1 : 0, local_ifindex);
         } else {
                 _cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL;
-                char **i;
                 unsigned j;
 
                 r = sd_bus_message_new_method_call(
@@ -157,11 +156,9 @@ int register_machine(
                                 return bus_log_create_error(r);
                 }
 
-                STRV_FOREACH(i, properties) {
-                        r = bus_append_unit_property_assignment(m, *i);
-                        if (r < 0)
-                                return r;
-                }
+                r = bus_append_unit_property_assignment_many(m, properties);
+                if (r < 0)
+                        return r;
 
                 r = sd_bus_message_close_container(m);
                 if (r < 0)
index 1917ffd8574812c38a226d564474e6f459601e1d..f4a90fce7128d31273772f7d7fee6cbca4123c9b 100644 (file)
@@ -410,18 +410,15 @@ static int parse_argv(int argc, char *argv[]) {
 }
 
 static int transient_unit_set_properties(sd_bus_message *m, char **properties) {
-        char **i;
         int r;
 
         r = sd_bus_message_append(m, "(sv)", "Description", "s", arg_description);
         if (r < 0)
                 return r;
 
-        STRV_FOREACH(i, properties) {
-                r = bus_append_unit_property_assignment(m, *i);
-                if (r < 0)
-                        return r;
-        }
+        r = bus_append_unit_property_assignment_many(m, properties);
+        if (r < 0)
+                return r;
 
         return 0;
 }
index f9e12e0578ebc93eb880d2125440238e1602e7b5..28bfa8b52265e745bf6aa0e8bc75589edc86cac5 100644 (file)
@@ -568,6 +568,21 @@ finish:
         return 0;
 }
 
+int bus_append_unit_property_assignment_many(sd_bus_message *m, char **l) {
+        char **i;
+        int r;
+
+        assert(m);
+
+        STRV_FOREACH(i, l) {
+                r = bus_append_unit_property_assignment(m, *i);
+                if (r < 0)
+                        return r;
+        }
+
+        return 0;
+}
+
 typedef struct BusWaitForJobs {
         sd_bus *bus;
         Set *jobs;
index c0c172f336a5c8f6b9d6a310e24a36d8950fe136..d102ea180e6fe510f52786d18492a433dd90320c 100644 (file)
@@ -41,6 +41,7 @@ typedef struct UnitInfo {
 int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u);
 
 int bus_append_unit_property_assignment(sd_bus_message *m, const char *assignment);
+int bus_append_unit_property_assignment_many(sd_bus_message *m, char **l);
 
 typedef struct BusWaitForJobs BusWaitForJobs;
 
index b4ce6fba5a4c7c2366052e9eeff5729429be20c8..4444e3064d3bcd91583329a964f1d27a2bd45d05 100644 (file)
@@ -5093,7 +5093,6 @@ static int set_property(int argc, char *argv[], void *userdata) {
         _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         _cleanup_free_ char *n = NULL;
         sd_bus *bus;
-        char **i;
         int r;
 
         r = acquire_bus(BUS_MANAGER, &bus);
@@ -5124,11 +5123,9 @@ static int set_property(int argc, char *argv[], void *userdata) {
         if (r < 0)
                 return bus_log_create_error(r);
 
-        STRV_FOREACH(i, strv_skip(argv, 2)) {
-                r = bus_append_unit_property_assignment(m, *i);
-                if (r < 0)
-                        return r;
-        }
+        r = bus_append_unit_property_assignment_many(m, strv_skip(argv, 2));
+        if (r < 0)
+                return r;
 
         r = sd_bus_message_close_container(m);
         if (r < 0)