On Tue, 2014-02-04 at 19:03 -0300, [email protected] wrote:
> +static void hf_audio_agent_get_cards_reply(DBusPendingCall *pending, void 
> *userdata) {
> +    DBusMessage *r;
> +    pa_dbus_pending *p;
> +    hf_audio_agent_data *hfdata;
> +    DBusMessageIter i, array_i, struct_i, props_i;
> +    char c;
> +
> +    pa_assert_se(p = userdata);
> +    pa_assert_se(hfdata = p->context_data);
> +    pa_assert_se(r = dbus_pending_call_steal_reply(pending));
> +
> +    if (dbus_message_get_type(r) == DBUS_MESSAGE_TYPE_ERROR) {
> +        pa_log_error("Failed to get a list of handsfree audio cards from 
> ofono: %s: %s",
> +                     dbus_message_get_error_name(r), 
> pa_dbus_get_error_message(r));
> +        goto finish;
> +    }
> +
> +    dbus_message_iter_init(r, &i);
> +    if ((c = dbus_message_iter_get_arg_type(&i)) != DBUS_TYPE_ARRAY) {
> +        pa_log_error("Invalid arguments in GetCards() reply: expected \'a\', 
> received \'%c\'", c);

Instead of checking every argument separately, it's simpler to just
check the message signature.

-- 
Tanu

_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to