From 2091cdd4e1c58318ac75533e2ea4a92292e1783c Mon Sep 17 00:00:00 2001 From: Jon Trowbridge Date: Thu, 26 Aug 2004 17:26:06 +0000 Subject: 2004-08-26 Jon Trowbridge * bus/driver.c (bus_driver_handle_service_exists): Respond with TRUE if we are inquiring about the existence of the built-in org.freedesktop.DBus service. --- bus/driver.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'bus') diff --git a/bus/driver.c b/bus/driver.c index 9923f121..90659cd2 100644 --- a/bus/driver.c +++ b/bus/driver.c @@ -511,6 +511,7 @@ bus_driver_handle_service_exists (DBusConnection *connection, DBusMessage *reply; DBusString service_name; BusService *service; + dbus_bool_t service_exists; char *name; dbus_bool_t retval; BusRegistry *registry; @@ -525,10 +526,18 @@ bus_driver_handle_service_exists (DBusConnection *connection, return FALSE; retval = FALSE; + + if (strcmp (name, DBUS_SERVICE_ORG_FREEDESKTOP_DBUS) == 0) + { + service_exists = TRUE; + } + else + { + _dbus_string_init_const (&service_name, name); + service = bus_registry_lookup (registry, &service_name); + service_exists = service != NULL; + } - _dbus_string_init_const (&service_name, name); - service = bus_registry_lookup (registry, &service_name); - reply = dbus_message_new_method_return (message); if (reply == NULL) { @@ -537,7 +546,7 @@ bus_driver_handle_service_exists (DBusConnection *connection, } if (!dbus_message_append_args (reply, - DBUS_TYPE_BOOLEAN, service != NULL, + DBUS_TYPE_BOOLEAN, service_exists, 0)) { BUS_SET_OOM (error); -- cgit