Hi Lucas,

> According to dbus documentation, dbus_message_iter_append_basic()
> expects a "const char**" if type is string and a simple pointer for
> other types. Since we a iterating an array, the value passed is already
> a pointer.
> ---
>  src/dbus.c |    9 +++++++--
>  1 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/src/dbus.c b/src/dbus.c
> index c24615f..292f11a 100644
> --- a/src/dbus.c
> +++ b/src/dbus.c
> @@ -139,8 +139,13 @@ static void append_dict_variant(DBusMessageIter *iter, 
> int type, void *val)
>  
>               dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING,
>                                               &(val_array[i + 0]));
> -             dbus_message_iter_append_basic(&entry, type,
> -                                             &(val_array[i + 1]));
> +             if (type == DBUS_TYPE_STRING) {
> +                     dbus_message_iter_append_basic(&entry, type,
> +                                                     &(val_array[i + 1]));
> +             } else {
> +                     dbus_message_iter_append_basic(&entry, type,
> +                                                     val_array[i + 1]);
> +             }

this does looks a bit hackish. Can you put it into context please. It
might be that our call chain is wrong.

Regards

Marcel


_______________________________________________
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono

Reply via email to