From 7eb304c54ee8ea6dfa3775cf89d63c39295747a8 Mon Sep 17 00:00:00 2001 From: Olivier Andrieu Date: Thu, 22 Jul 2004 07:07:01 +0000 Subject: 2004-07-22 Olivier Andrieu * dbus/dbus-sysdeps.c (fill_user_info): fix inexistent label name, breaking build on Solaris, reported by Farhad Saberi on the ML. * dbus/dbus-message.c (dbus_message_append_args_valist): fix the va_arg invocation to account for integer promotion in the case of DBUS_TYPE_BYTE (unsigned char is promoted to int). (bug #901) * bus/services.c (bus_service_remove_owner): fix bug #902, use _dbus_list_get_first_link, not _dbus_list_get_first. * dbus/dbus-bus.c (dbus_bus_service_exists): plug a memory leak. * dbus/dbus-object-tree.c (free_subtree_recurse): always null handler functions so that the asserts in _dbus_object_subtree_unref do not fail. * dbus/dbus-transport-unix.c (do_reading): _dbus_transport_queue_messages return value is of type dbus_bool_t, not DBusDispatchStatus. --- dbus/dbus-message.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'dbus/dbus-message.c') diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c index 2e4c9b35..8887720a 100644 --- a/dbus/dbus-message.c +++ b/dbus/dbus-message.c @@ -3984,10 +3984,9 @@ dbus_message_append_args_valist (DBusMessage *message, goto errorout; break; case DBUS_TYPE_BYTE: - /* FIXME if you pass an unsigned char to varargs it gets promoted to int, - * so probably we should read an int here. - */ - if (!dbus_message_iter_append_byte (&iter, va_arg (var_args, unsigned char))) + /* Read an int from varargs, because the original unsigned + * char has been promoted to int. */ + if (!dbus_message_iter_append_byte (&iter, va_arg (var_args, int))) goto errorout; break; case DBUS_TYPE_BOOLEAN: -- cgit