From bebd71a39051c0046a6f19a57ed13f3a320ca0c9 Mon Sep 17 00:00:00 2001 From: Claudio Takahasi Date: Tue, 22 May 2012 16:45:26 -0300 Subject: [PATCH] core: Fix creating device from "primary" file This patch removes the hard-coded address type for the BLE device created from the storage. --- src/adapter.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/adapter.c b/src/adapter.c index dafe595b6..18dd5b6e3 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -1940,13 +1940,17 @@ static void create_stored_device_from_primary(char *key, char *value, struct btd_adapter *adapter = user_data; struct btd_device *device; GSList *services, *uuids, *l; + char address[18]; + uint8_t bdaddr_type; + + if (sscanf(key, "%17s#%hhu", address, &bdaddr_type) < 2) + return; if (g_slist_find_custom(adapter->devices, - key, (GCompareFunc) device_address_cmp)) + address, (GCompareFunc) device_address_cmp)) return; - /* FIXME: Get the correct LE addr type (public/random) */ - device = device_create(connection, adapter, key, BDADDR_LE_PUBLIC); + device = device_create(connection, adapter, address, bdaddr_type); if (!device) return; -- 2.47.3