chiark / gitweb /
loginctl: add basic implementation of loginctl for introspecting controlling sessions...
[elogind.git] / src / dbus-common.c
index 5bfaf361fba405b3423c0b32b60efe94b171e164..4b9b457fc3eac115cf1ec06064bd5cf6eac81ce5 100644 (file)
@@ -821,3 +821,19 @@ int bus_append_strv_iter(DBusMessageIter *iter, char **l) {
 
         return 0;
 }
+
+int bus_iter_get_basic_and_next(DBusMessageIter *iter, int type, void *data, bool next) {
+
+        assert(iter);
+        assert(data);
+
+        if (dbus_message_iter_get_arg_type(iter) != type)
+                return -EIO;
+
+        dbus_message_iter_get_basic(iter, data);
+
+        if (!dbus_message_iter_next(iter) != !next)
+                return -EIO;
+
+        return 0;
+}