From 769c4b021665a26c9a6c20457ef9b7ded54c8ad6 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Mon, 24 Mar 2008 18:04:12 +0000 Subject: Fix dbus_message_iter_append_variant to use dbus string array format (char **) instead GSList. --- common/dbus-helper.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'common/dbus-helper.c') diff --git a/common/dbus-helper.c b/common/dbus-helper.c index 6c7946a8..e6211824 100644 --- a/common/dbus-helper.c +++ b/common/dbus-helper.c @@ -415,11 +415,6 @@ dbus_bool_t dbus_connection_unregister_interface(DBusConnection *connection, return TRUE; } -static void append_array_item_string(const char *val, DBusMessageIter *iter) -{ - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &val); -} - void dbus_message_iter_append_variant(DBusMessageIter *iter, int type, void *val) { DBusMessageIter value; @@ -459,10 +454,15 @@ void dbus_message_iter_append_variant(DBusMessageIter *iter, int type, void *val dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, sig, &value); if (type == DBUS_TYPE_ARRAY) { + int i; + const char ***str_array = val; + dbus_message_iter_open_container(&value, DBUS_TYPE_ARRAY, DBUS_TYPE_STRING_AS_STRING, &array); - g_slist_foreach((GSList*) val, (GFunc) append_array_item_string, - &array); + + for (i = 0; (*str_array)[i]; i++) + dbus_message_iter_append_basic(&array, DBUS_TYPE_STRING, + &((*str_array)[i])); dbus_message_iter_close_container(&value, &array); } else -- cgit