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
