+2004-05-23 Kristian Høgsberg <krh@redhat.com>
+
+ Patch from Timo Teräs <ext-timo.teras@nokia.com> (#614):
+
+ * dbus/dbus-message.c (dbus_message_iter_get_args_valist): Swap
+ operands to && so we call dbus_message_iter_next () for the last
+ argument also.
+
2004-05-21 Olivier Andrieu <oliv__a@users.sourceforge.net>
* dbus/dbus-object-tree.c
spec_type = first_arg_type;
i = 0;
- while (spec_type != 0)
+ while (spec_type != DBUS_TYPE_INVALID)
{
msg_type = dbus_message_iter_get_arg_type (iter);
_dbus_warn ("Unknown field type %d\n", spec_type);
goto out;
}
-
+
spec_type = va_arg (var_args, int);
- if (spec_type != 0 && !dbus_message_iter_next (iter))
+ if (!dbus_message_iter_next (iter) && spec_type != DBUS_TYPE_INVALID)
{
dbus_set_error (error, DBUS_ERROR_INVALID_ARGS,
"Message has only %d arguments, but more were expected", i);
_dbus_assert_not_reached ("bool array had wrong values");
dbus_free (our_boolean_array);
-
- if (!dbus_message_iter_next (&iter))
- _dbus_assert_not_reached ("Reached end of arguments");
if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_DICT)
_dbus_assert_not_reached ("not dict type");