From 9d633977d138cdb042cf01c82022e2c0390a7050 Mon Sep 17 00:00:00 2001 From: Michael Meeks Date: Mon, 8 Mar 2004 10:29:16 +0000 Subject: 2004-03-08 Michael Meeks * dbus/dbus-message.c (dbus_message_iter_get_args_valist): cleanup cut/paste/inefficiency. --- dbus/dbus-message.c | 54 ++++++++++++++--------------------------------------- 1 file changed, 14 insertions(+), 40 deletions(-) (limited to 'dbus') 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: -- cgit