summaryrefslogtreecommitdiff
path: root/gdbus
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2012-12-14 15:07:36 +0100
committerMarcel Holtmann <marcel@holtmann.org>2012-12-19 03:49:10 +0100
commit43e6eaabc6085b331a6850627615c49ab71dd0d4 (patch)
treea880631cd7df51bcca9bb92a2ff81670b9fe87bb /gdbus
parent09eef06ef1f5b01e535e428eb93da7daae38014a (diff)
downloadconnman-43e6eaabc6085b331a6850627615c49ab71dd0d4.tar.gz
connman-43e6eaabc6085b331a6850627615c49ab71dd0d4.tar.bz2
connman-43e6eaabc6085b331a6850627615c49ab71dd0d4.zip
gdbus: Deep copy of variants also requires a signature
Diffstat (limited to 'gdbus')
-rw-r--r--gdbus/client.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gdbus/client.c b/gdbus/client.c
index 5a6cfdde..7def1f57 100644
--- a/gdbus/client.c
+++ b/gdbus/client.c
@@ -81,10 +81,15 @@ static void iter_append_iter(DBusMessageIter *base, DBusMessageIter *iter)
dbus_message_iter_recurse(iter, &iter_sub);
- if (type == DBUS_TYPE_ARRAY) {
+ switch (type) {
+ case DBUS_TYPE_ARRAY:
+ case DBUS_TYPE_VARIANT:
sig = dbus_message_iter_get_signature(&iter_sub);
- } else
+ break;
+ default:
sig = NULL;
+ break;
+ }
dbus_message_iter_open_container(base, type, sig, &base_sub);