diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2012-12-14 15:07:36 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2012-12-19 03:49:10 +0100 |
commit | 43e6eaabc6085b331a6850627615c49ab71dd0d4 (patch) | |
tree | a880631cd7df51bcca9bb92a2ff81670b9fe87bb /gdbus | |
parent | 09eef06ef1f5b01e535e428eb93da7daae38014a (diff) | |
download | connman-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.c | 9 |
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); |