]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
Patch from Timo Teräs <ext-timo.teras@nokia.com> (#614):
authorKristian Høgsberg <krh@redhat.com>
Sun, 23 May 2004 18:09:46 +0000 (18:09 +0000)
committerKristian Høgsberg <krh@redhat.com>
Sun, 23 May 2004 18:09:46 +0000 (18:09 +0000)
        * 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.

ChangeLog
dbus/dbus-message.c

index 1327d89cbaf315a409b2bec5e4689ebacbf9ddfe..30c958ffccdc2cc6886d4e1dc13c1ba0019f318b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+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
index 03a3822afbebfd7eb56ae534a1b585081fce9bc8..98c0d1d1740b337242fcde556febc2407eec96fa 100644 (file)
@@ -2180,7 +2180,7 @@ dbus_message_iter_get_args_valist (DBusMessageIter *iter,
   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);      
       
@@ -2379,9 +2379,9 @@ dbus_message_iter_get_args_valist (DBusMessageIter *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);
@@ -7000,9 +7000,6 @@ verify_test_message (DBusMessage *message)
     _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");