diff options
Diffstat (limited to 'hcid/manager.c')
| -rw-r--r-- | hcid/manager.c | 22 | 
1 files changed, 5 insertions, 17 deletions
| diff --git a/hcid/manager.c b/hcid/manager.c index f7760dc9..91cb93bc 100644 --- a/hcid/manager.c +++ b/hcid/manager.c @@ -423,30 +423,18 @@ static void manager_remove_adapter(struct adapter *adapter)  int manager_register_adapter(int id)  { -	char path[MAX_PATH_LENGTH]; -	struct adapter *adapter; - -	snprintf(path, sizeof(path), "/hci%d", id); +	struct adapter *adapter = adapter_create(id); -	adapter = g_try_new0(struct adapter, 1); -	if (!adapter) { -		error("Failed to alloc memory to D-Bus path register data (%s)", -				path); +	if(!adapter)  		return -1; -	} - -	adapter->dev_id = id; -	adapter->pdiscov_resolve_names = 1; -	if (!adapter_init(connection, path, adapter)) { -		error("Adapter interface init failed on path %s", path); +	if (!adapter_init(connection, adapter->path, adapter)) { +		error("Adapter interface init failed on path %s", adapter->path);  		g_free(adapter);  		return -1;  	} -	adapter->path = g_strdup(path); - -	__probe_servers(path); +	__probe_servers(adapter->path);  	manager_add_adapter(adapter); | 
