static gboolean
g_kdbus_NameHasOwner_internal (GKDBusWorker *worker,
- const gchar *name,
- GError **error)
+ const gchar *name)
{
struct kdbus_cmd_info *cmd;
struct kdbus_info *conn_info;
cmd->size = size;
ret = ioctl(worker->fd, KDBUS_CMD_CONN_INFO, cmd);
+ if (ret < 0)
+ return FALSE;
+
conn_info = (struct kdbus_info *) ((guint8 *) worker->kdbus_buffer + cmd->offset);
if (conn_info->flags & KDBUS_HELLO_ACTIVATOR)
return NULL;
}
- if (!g_kdbus_NameHasOwner_internal (worker, name, error))
+ if (!g_kdbus_NameHasOwner_internal (worker, name))
{
g_set_error (error,
G_DBUS_ERROR,
if (g_strcmp0 (name, "org.freedesktop.DBus") == 0)
return TRUE;
- if (!g_kdbus_NameHasOwner_internal (worker, name, error))
- return FALSE;
- else
- return TRUE;
+ if (!g_kdbus_NameHasOwner_internal (worker, name))
+ {
+ g_set_error (error,
+ G_DBUS_ERROR,
+ G_DBUS_ERROR_NAME_HAS_NO_OWNER,
+ "Could not get owner of name '%s': no such name", name);
+ return FALSE;
+ }
+
+ return TRUE;
}
goto error;
}
- if (!g_kdbus_NameHasOwner_internal (worker, name, error))
+ if (!g_kdbus_NameHasOwner_internal (worker, name))
{
g_set_error (error,
G_DBUS_ERROR,
if (g_strcmp0 (name, "org.freedesktop.DBus") == 0)
return G_BUS_START_SERVICE_REPLY_ALREADY_RUNNING;
- if (!g_kdbus_NameHasOwner_internal (worker, name, error))
+ if (!g_kdbus_NameHasOwner_internal (worker, name))
{
GDBusMessage *message;
GDBusMessage *reply;