summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Meeks <michael@ximian.com>2004-03-08 10:29:16 +0000
committerMichael Meeks <michael@ximian.com>2004-03-08 10:29:16 +0000
commit9d633977d138cdb042cf01c82022e2c0390a7050 (patch)
treed03f0fb20b3d1885c9c810d233fd98774e56f359
parent868dd4b4b0be082b86354b1f89ed9cffd5b8e193 (diff)
2004-03-08 Michael Meeks <michael@ximian.com>
* dbus/dbus-message.c (dbus_message_iter_get_args_valist): cleanup cut/paste/inefficiency.
-rw-r--r--ChangeLog5
-rw-r--r--dbus/dbus-message.c54
2 files changed, 19 insertions, 40 deletions
diff --git a/ChangeLog b/ChangeLog
index f099f0ba..edcac70e 100644
--- 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
diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c
index 7c1ad1f3..1c7ebf24 100644
--- a/dbus/dbus-message.c
+++ b/dbus/dbus-message.c
@@ -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: