[systemd-devel] [PATCH 1/3] bus: add sd_bus_message_read_strv

Marc-Antoine Perennou Marc-Antoine at Perennou.com
Tue Nov 5 04:42:25 PST 2013


It will be useful to have that in the public API

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine at Perennou.com>
---
 src/libsystemd-bus/bus-message.c | 15 +++++++++++++++
 src/systemd/sd-bus.h             |  1 +
 2 files changed, 16 insertions(+)

diff --git a/src/libsystemd-bus/bus-message.c b/src/libsystemd-bus/bus-message.c
index 7a4c65d..1050151 100644
--- a/src/libsystemd-bus/bus-message.c
+++ b/src/libsystemd-bus/bus-message.c
@@ -4510,6 +4510,21 @@ int bus_message_read_strv_extend(sd_bus_message *m, char ***l) {
         return 0;
 }
 
+int sd_bus_message_read_strv(sd_bus_message *m, char ***l) {
+        char **strv = NULL;
+        int r;
+
+        assert(m);
+        assert(l);
+
+        r = bus_message_read_strv_extend(m, &strv);
+        if (r < 0)
+                return r;
+
+        *l = strv;
+        return 0;
+}
+
 const char* bus_message_get_arg(sd_bus_message *m, unsigned i) {
         int r;
         const char *t = NULL;
diff --git a/src/systemd/sd-bus.h b/src/systemd/sd-bus.h
index e0a6041..1a1cce9 100644
--- a/src/systemd/sd-bus.h
+++ b/src/systemd/sd-bus.h
@@ -197,6 +197,7 @@ int sd_bus_message_copy(sd_bus_message *m, sd_bus_message *source, int all);
 int sd_bus_message_read(sd_bus_message *m, const char *types, ...);
 int sd_bus_message_read_basic(sd_bus_message *m, char type, void *p);
 int sd_bus_message_read_array(sd_bus_message *m, char type, const void **ptr, size_t *size);
+int sd_bus_message_read_strv(sd_bus_message *m, char ***ptr);
 int sd_bus_message_skip(sd_bus_message *m, const char *types);
 int sd_bus_message_enter_container(sd_bus_message *m, char type, const char *contents);
 int sd_bus_message_exit_container(sd_bus_message *m);
-- 
1.8.4.2



More information about the systemd-devel mailing list