diff options
author | Havoc Pennington <hp@redhat.com> | 2003-03-31 08:19:50 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2003-03-31 08:19:50 +0000 |
commit | 29c71168cd17b11eed65023c97aff401d5305b01 (patch) | |
tree | 431a05106d857cf38abbdea74a375326f395485e /dbus/dbus-server-debug.c | |
parent | bc86794f23fa538a405813fb61b531c2eacc9ae1 (diff) |
2003-03-31 Havoc Pennington <hp@pobox.com>
* dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
(_dbus_transport_new_for_tcp_socket): these didn't need the "server"
argument since they are always client side
* dbus/dbus-server.c (dbus_server_get_address): new function
* bus/main.c (main): take the configuration file as an argument.
* test/data/valid-config-files/debug-allow-all.conf: new file to
use with dispatch.c tests for example
* bus/test-main.c (main): require test data dir
* bus/bus.c (bus_context_new): change this to take a
configuration file name as argument
* doc/config-file.txt (Elements): add <servicedir>
* bus/system.conf, bus/session.conf: new files
* dbus/dbus-bus.c (dbus_bus_get): look for system bus on
well-known socket if none set
* configure.in: create system.conf and session.conf
Diffstat (limited to 'dbus/dbus-server-debug.c')
-rw-r--r-- | dbus/dbus-server-debug.c | 52 |
1 files changed, 28 insertions, 24 deletions
diff --git a/dbus/dbus-server-debug.c b/dbus/dbus-server-debug.c index 7af2336b..e61f8099 100644 --- a/dbus/dbus-server-debug.c +++ b/dbus/dbus-server-debug.c @@ -117,7 +117,8 @@ _dbus_server_debug_new (const char *server_name, DBusError *error) { DBusServerDebug *debug_server; - + DBusString address; + _DBUS_ASSERT_ERROR_IS_CLEAR (error); if (!server_hash) @@ -143,40 +144,43 @@ _dbus_server_debug_new (const char *server_name, if (debug_server == NULL) return NULL; + if (!_dbus_string_init (&address, _DBUS_INT_MAX)) + goto nomem_0; + + if (!_dbus_string_append (&address, "debug:name=") || + !_dbus_string_append (&address, server_name)) + goto nomem_1; + debug_server->name = _dbus_strdup (server_name); if (debug_server->name == NULL) - { - dbus_free (debug_server->name); - dbus_free (debug_server); - - dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL); - } + goto nomem_1; if (!_dbus_server_init_base (&debug_server->base, - &debug_vtable)) - { - dbus_free (debug_server->name); - dbus_free (debug_server); - - dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL); - - return NULL; - } + &debug_vtable, + &address)) + goto nomem_2; if (!_dbus_hash_table_insert_string (server_hash, debug_server->name, debug_server)) - { - _dbus_server_finalize_base (&debug_server->base); - dbus_free (debug_server->name); - dbus_free (debug_server); + goto nomem_3; - dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL); - - return NULL; - } + _dbus_string_free (&address); return (DBusServer *)debug_server; + + nomem_3: + _dbus_server_finalize_base (&debug_server->base); + nomem_2: + dbus_free (debug_server->name); + nomem_1: + _dbus_string_free (&address); + nomem_0: + dbus_free (debug_server); + + dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL); + + return NULL; } typedef struct |