2004-03-08 Michael Meeks <michael@ximian.com>
authorMichael Meeks <michael@ximian.com>
Mon, 8 Mar 2004 10:29:16 +0000 (10:29 +0000)
committerMichael Meeks <michael@ximian.com>
Mon, 8 Mar 2004 10:29:16 +0000 (10:29 +0000)
* dbus/dbus-message.c (dbus_message_iter_get_args_valist):
cleanup cut/paste/inefficiency.

ChangeLog
dbus/dbus-message.c

index f099f0b..edcac70 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-03-08  Michael Meeks  <michael@ximian.com>
+
+       * dbus/dbus-message.c (dbus_message_iter_get_args_valist):
+       cleanup cut/paste/inefficiency.
+
 2004-03-01  David Zeuthen  <david@fubar.dk>
 
        * dbus/dbus-string.c (_dbus_string_append_printf_valist): Fix a
index 7c1ad1f..1c7ebf2 100644 (file)
@@ -2260,6 +2260,7 @@ dbus_message_iter_get_args_valist (DBusMessageIter *iter,
          {
            void **data;
            int *len, type;
+           dbus_bool_t err = FALSE;
  
            type = va_arg (var_args, int);
            data = va_arg (var_args, void *);
@@ -2281,62 +2282,30 @@ dbus_message_iter_get_args_valist (DBusMessageIter *iter,
            switch (type)
              {
              case DBUS_TYPE_BYTE:
-               if (!dbus_message_iter_get_byte_array (iter, (unsigned char **)data, len))
-                 {
-                   dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
-                   goto out;
-                 }
+               err = !dbus_message_iter_get_byte_array (iter, (unsigned char **)data, len);
                break;
              case DBUS_TYPE_BOOLEAN:
-               if (!dbus_message_iter_get_boolean_array (iter, (unsigned char **)data, len))
-                 {
-                   dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
-                   goto out;
-                 }
+               err = !dbus_message_iter_get_boolean_array (iter, (unsigned char **)data, len);
                break;
              case DBUS_TYPE_INT32:
-               if (!dbus_message_iter_get_int32_array (iter, (dbus_int32_t **)data, len))
-                 {
-                   dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
-                   goto out;
-                 }
+               err = !dbus_message_iter_get_int32_array (iter, (dbus_int32_t **)data, len);
                break;
              case DBUS_TYPE_UINT32:
-               if (!dbus_message_iter_get_uint32_array (iter, (dbus_uint32_t **)data, len))
-                 {
-                   dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
-                   goto out;
-                 }
+               err = !dbus_message_iter_get_uint32_array (iter, (dbus_uint32_t **)data, len);
                break;
 #ifdef DBUS_HAVE_INT64
               case DBUS_TYPE_INT64:
-               if (!dbus_message_iter_get_int64_array (iter, (dbus_int64_t **)data, len))
-                 {
-                   dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
-                   goto out;
-                 }
+               err = !dbus_message_iter_get_int64_array (iter, (dbus_int64_t **)data, len);
                break;
              case DBUS_TYPE_UINT64:
-               if (!dbus_message_iter_get_uint64_array (iter, (dbus_uint64_t **)data, len))
-                 {
-                   dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
-                   goto out;
-                 }
+               err = !dbus_message_iter_get_uint64_array (iter, (dbus_uint64_t **)data, len);
                break;
 #endif /* DBUS_HAVE_INT64 */
              case DBUS_TYPE_DOUBLE:
-               if (!dbus_message_iter_get_double_array (iter, (double **)data, len))
-                 {
-                   dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
-                   goto out;
-                 }
+               err = !dbus_message_iter_get_double_array (iter, (double **)data, len);
                break;
              case DBUS_TYPE_STRING:
-               if (!dbus_message_iter_get_string_array (iter, (char ***)data, len))
-                 {
-                   dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
-                   goto out;
-                 }
+               err = !dbus_message_iter_get_string_array (iter, (char ***)data, len);
                break;
              case DBUS_TYPE_NIL:
              case DBUS_TYPE_ARRAY:
@@ -2350,6 +2319,11 @@ dbus_message_iter_get_args_valist (DBusMessageIter *iter,
                dbus_set_error (error, DBUS_ERROR_NOT_SUPPORTED, NULL);
                goto out;
              }
+           if (err)
+             {
+               dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
+               goto out;
+             }
          }
          break;
        case DBUS_TYPE_DICT: