diff options
Diffstat (limited to 'hcid/dbus-security.c')
-rw-r--r-- | hcid/dbus-security.c | 39 |
1 files changed, 12 insertions, 27 deletions
diff --git a/hcid/dbus-security.c b/hcid/dbus-security.c index a5c39775..dfa2c711 100644 --- a/hcid/dbus-security.c +++ b/hcid/dbus-security.c @@ -999,21 +999,13 @@ send: return -1; } -int handle_passkey_request_old(DBusConnection *conn, int dev, const char *path, - bdaddr_t *sba, bdaddr_t *dba) +int handle_passkey_request_old(DBusConnection *conn, int dev, + struct adapter *adapter, + bdaddr_t *sba, bdaddr_t *dba) { struct passkey_agent *agent = default_agent; - struct adapter *adapter = NULL; GSList *l; char addr[18]; - void *data; - - dbus_connection_get_object_user_data(conn, path, &data); - - if (!data) - goto done; - - adapter = data; ba2str(dba, addr); @@ -1027,8 +1019,7 @@ int handle_passkey_request_old(DBusConnection *conn, int dev, const char *path, } } -done: - return call_passkey_agent(conn, agent, dev, path, sba, dba); + return call_passkey_agent(conn, agent, dev, adapter->path, sba, dba); } static DBusPendingCall *agent_confirm(const char *path, bdaddr_t *bda, @@ -1175,27 +1166,21 @@ send: return -1; } -int handle_confirm_request_old(DBusConnection *conn, int dev, const char *path, - bdaddr_t *sba, bdaddr_t *dba, const char *pin) +int handle_confirm_request_old(DBusConnection *conn, int dev, + struct adapter *adapter, + bdaddr_t *sba, bdaddr_t *dba, + const char *pin) { struct passkey_agent *agent = default_agent; - struct adapter *adapter = NULL; GSList *l; char addr[18]; - void *data; - - dbus_connection_get_object_user_data(conn, path, &data); - - if (!data) - goto done; - - adapter = data; ba2str(dba, addr); for (l = adapter->passkey_agents; l != NULL; l = l->next) { struct passkey_agent *a = l->data; - if (a != default_agent && g_slist_length(a->pending_requests) >= 1) + if (a != default_agent && + g_slist_length(a->pending_requests) >= 1) continue; if (!strcmp(a->addr, addr)) { agent = a; @@ -1203,8 +1188,8 @@ int handle_confirm_request_old(DBusConnection *conn, int dev, const char *path, } } -done: - return call_confirm_agent(conn, agent, dev, path, sba, dba, pin); + return call_confirm_agent(conn, agent, dev, adapter->path, + sba, dba, pin); } static void send_cancel_request(struct pending_agent_request *req) |