From 4097e94af3d2fb1eb865343e3f76ca3949e7c69b Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Sun, 12 Oct 2003 05:59:39 +0000 Subject: 2003-10-12 Havoc Pennington Added test code that 1) starts an actual bus daemon and 2) uses DBusGProxy; fixed bugs that were revealed by the test. Lots more testing possible, but this is the basic framework. * glib/dbus-gproxy.c (dbus_gproxy_manager_unregister): remove empty proxy lists from the proxy list hash * dbus/dbus-message.c (dbus_message_iter_get_args_valist): add a couple of return_if_fail checks * dbus/dbus-pending-call.c (_dbus_pending_call_new): use dbus_new0 to allocate, so everything is cleared to NULL as it should be. * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): pass source as data to dbus_connection_set_timeout_functions() as the timeout functions expected * test/glib/run-test.sh: add a little script to start up a message bus and run tests using it * tools/dbus-launch.1: updates * tools/dbus-launch.c (main): add --config-file option * tools/dbus-launch.c (main): remove confusing else if (runprog) that could never be reached. * dbus/dbus-message.c (dbus_message_new_method_return) (dbus_message_new_error, dbus_message_new_signal): set the no-reply-expected flag on all these. Redundant, but may as well be consistent. --- dbus/dbus-marshal.c | 2 +- dbus/dbus-message.c | 9 +++++++++ dbus/dbus-pending-call.c | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'dbus') diff --git a/dbus/dbus-marshal.c b/dbus/dbus-marshal.c index 1e4992ad..ecc1e1ae 100644 --- a/dbus/dbus-marshal.c +++ b/dbus/dbus-marshal.c @@ -1400,7 +1400,7 @@ _dbus_demarshal_double_array (const DBusString *str, * @param pos the position in the string * @param new_pos the new position of the string * @param array the array - * @param array_len length of the demarshaled data + * @param array_len location for length of the demarshaled data or NULL * @returns #TRUE on success */ dbus_bool_t diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c index e23e56e1..45309766 100644 --- a/dbus/dbus-message.c +++ b/dbus/dbus-message.c @@ -1224,6 +1224,8 @@ dbus_message_new_method_return (DBusMessage *method_call) return NULL; } + dbus_message_set_no_reply (message, TRUE); + if (!dbus_message_set_reply_serial (message, dbus_message_get_serial (method_call))) { @@ -1268,6 +1270,8 @@ dbus_message_new_signal (const char *path, dbus_message_unref (message); return NULL; } + + dbus_message_set_no_reply (message, TRUE); return message; } @@ -1313,6 +1317,8 @@ dbus_message_new_error (DBusMessage *reply_to, return NULL; } + dbus_message_set_no_reply (message, TRUE); + if (!dbus_message_set_reply_serial (message, dbus_message_get_serial (reply_to))) { @@ -2207,6 +2213,9 @@ dbus_message_iter_get_args_valist (DBusMessageIter *iter, data = va_arg (var_args, void *); len = va_arg (var_args, int *); + _dbus_return_val_if_fail (data != NULL, FALSE); + _dbus_return_val_if_fail (len != NULL, FALSE); + if (dbus_message_iter_get_array_type (iter) != type) { dbus_set_error (error, DBUS_ERROR_INVALID_ARGS, diff --git a/dbus/dbus-pending-call.c b/dbus/dbus-pending-call.c index dad444e3..e0d8e3ee 100644 --- a/dbus/dbus-pending-call.c +++ b/dbus/dbus-pending-call.c @@ -64,7 +64,7 @@ _dbus_pending_call_new (DBusConnection *connection, if (!dbus_pending_call_allocate_data_slot (¬ify_user_data_slot)) return NULL; - pending = dbus_new (DBusPendingCall, 1); + pending = dbus_new0 (DBusPendingCall, 1); if (pending == NULL) { -- cgit