In Header <dbus/dbus-message.h>
#ifndef DBUS_DISABLE_DEPRECATED
/* This function returns the wire protocol size of the array in bytes,
* you do not want to know that probably
*/
DBUS_DEPRECATED int dbus_message_iter_get_array_len (DBusMessageIter *iter);
#endif
return NULL;
}
- if (dbus_message_iter_get_array_len (&subiter) <= 0) {
- ibus_message_unref (reply);
- return NULL;
- }
-
engines = NULL;
- do {
+ while (ibus_message_iter_get_arg_type (&subiter) != G_TYPE_INVALID) {
IBusSerializable *object = NULL;
if (!ibus_message_iter_get (&subiter, IBUS_TYPE_ENGINE_DESC, &object) || !object) {
g_warning ("Unexpected type is returned from %s", member);
continue;
}
engines = g_list_append (engines, object);
- } while (ibus_message_iter_next (&subiter));
+ ibus_message_iter_next (&subiter);
+ };
ibus_message_unref (reply);
return engines;