diff options
| -rw-r--r-- | hcid/adapter.c | 8 | ||||
| -rw-r--r-- | hcid/adapter.h | 1 | ||||
| -rw-r--r-- | hcid/agent.c | 3 | ||||
| -rw-r--r-- | hcid/dbus-hci.c | 3 | ||||
| -rw-r--r-- | hcid/device.c | 36 | ||||
| -rw-r--r-- | hcid/manager.c | 9 | ||||
| -rw-r--r-- | input/manager.c | 4 | ||||
| -rw-r--r-- | network/manager.c | 2 | ||||
| -rw-r--r-- | serial/main.c | 2 | 
9 files changed, 46 insertions, 22 deletions
| diff --git a/hcid/adapter.c b/hcid/adapter.c index c1e6f3aa..b82623d6 100644 --- a/hcid/adapter.c +++ b/hcid/adapter.c @@ -2573,3 +2573,11 @@ const gchar *adapter_get_path(struct adapter *adapter)  	return adapter->path;  } + +const gchar *adapter_get_address(struct adapter *adapter) +{ +	if (!adapter) +		return NULL; + +	return adapter->address; +} diff --git a/hcid/adapter.h b/hcid/adapter.h index 476fdf1d..e83d808f 100644 --- a/hcid/adapter.h +++ b/hcid/adapter.h @@ -177,3 +177,4 @@ struct pending_auth_info *adapter_new_auth_request(struct adapter *adapter,  struct adapter *adapter_create(int id);  uint16_t adapter_get_dev_id(struct adapter *adapter);  const gchar *adapter_get_path(struct adapter *adapter); +const gchar *adapter_get_address(struct adapter *adapter); diff --git a/hcid/agent.c b/hcid/agent.c index 3a46043c..3cae00a5 100644 --- a/hcid/agent.c +++ b/hcid/agent.c @@ -386,6 +386,7 @@ static void pincode_reply(DBusPendingCall *call, void *user_data)  	bdaddr_t sba;  	size_t len;  	char *pin; +	const gchar *source = adapter_get_address(adapter);  	/* steal_reply will always return non-NULL since the callback  	 * is only called after a reply has been received */ @@ -423,7 +424,7 @@ static void pincode_reply(DBusPendingCall *call, void *user_data)  		goto done;  	} -	str2ba(adapter->address, &sba); +	str2ba(source, &sba);  	set_pin_length(&sba, len); diff --git a/hcid/dbus-hci.c b/hcid/dbus-hci.c index 01c20f1a..f03b2a85 100644 --- a/hcid/dbus-hci.c +++ b/hcid/dbus-hci.c @@ -324,6 +324,7 @@ static void pincode_cb(struct agent *agent, DBusError *err, const char *pincode,  	struct pending_auth_info *auth;  	const gchar *destination = device_get_address(device);  	uint16_t dev_id = adapter_get_dev_id(adapter); +	const gchar *source = adapter_get_address(adapter);  	/* No need to reply anything if the authentication already failed */  	if (adapter->bonding && adapter->bonding->hci_status) @@ -336,7 +337,7 @@ static void pincode_cb(struct agent *agent, DBusError *err, const char *pincode,  		return;  	} -	str2ba(adapter->address, &sba); +	str2ba(source, &sba);  	str2ba(destination, &dba);  	auth = adapter_find_auth_request(adapter, &dba); diff --git a/hcid/device.c b/hcid/device.c index 6aae85ff..5d873adf 100644 --- a/hcid/device.c +++ b/hcid/device.c @@ -135,9 +135,10 @@ static gboolean device_is_paired(struct btd_device *device)  	struct adapter *adapter = device->adapter;  	char filename[PATH_MAX + 1], *str;  	gboolean ret; +	const gchar *source = adapter_get_address(adapter);  	create_name(filename, PATH_MAX, STORAGEDIR, -			adapter->address, "linkkeys"); +			source, "linkkeys");  	str = textfile_caseget(filename, device->address);  	ret = str ? TRUE : FALSE;  	g_free(str); @@ -149,8 +150,9 @@ static char *device_get_name(struct btd_device *device)  {  	struct adapter *adapter = device->adapter;  	char filename[PATH_MAX + 1]; +	const gchar *source = adapter_get_address(adapter); -	create_name(filename, PATH_MAX, STORAGEDIR, adapter->address, "names"); +	create_name(filename, PATH_MAX, STORAGEDIR, source, "names");  	return textfile_caseget(filename, device->address);  } @@ -172,6 +174,7 @@ static DBusMessage *get_properties(DBusConnection *conn,  	int i;  	GSList *l;  	uint16_t dev_id = adapter_get_dev_id(adapter); +	const gchar *source = adapter_get_address(adapter);  	reply = dbus_message_new_method_return(msg);  	if (!reply) @@ -195,7 +198,7 @@ static DBusMessage *get_properties(DBusConnection *conn,  				DBUS_TYPE_STRING, &name);  	} -	str2ba(adapter->address, &src); +	str2ba(source, &src);  	str2ba(device->address, &dst);  	/* Class */ @@ -273,15 +276,16 @@ static DBusMessage *set_alias(DBusConnection *conn, DBusMessage *msg,  	int ecode;  	char *str, filename[PATH_MAX + 1];  	uint16_t dev_id = adapter_get_dev_id(adapter); +	const gchar *source = adapter_get_address(adapter);  	str2ba(device->address, &bdaddr);  	/* Remove alias if empty string */  	if (g_str_equal(alias, "")) { -		create_name(filename, PATH_MAX, STORAGEDIR, adapter->address, +		create_name(filename, PATH_MAX, STORAGEDIR, source,  				"names");  		str = textfile_caseget(filename, device->address); -		ecode = remove_device_alias(adapter->address, device->address); +		ecode = remove_device_alias(source, device->address);  	} else {  		str = g_strdup(alias);  		ecode = set_device_alias(dev_id, &bdaddr, alias); @@ -307,8 +311,9 @@ static DBusMessage *set_trust(DBusConnection *conn, DBusMessage *msg,  	struct btd_device *device = data;  	struct adapter *adapter = device->adapter;  	bdaddr_t local; +	const gchar *source = adapter_get_address(adapter); -	str2ba(adapter->address, &local); +	str2ba(source, &local);  	write_trust(&local, device->address, GLOBAL_TRUST, value); @@ -372,10 +377,11 @@ static void discover_services_req_exit(void *user_data)  	struct btd_device *device = user_data;  	struct adapter *adapter = device->adapter;  	bdaddr_t src, dst; +	const gchar *source = adapter_get_address(adapter);  	debug("DiscoverDevices requestor exited"); -	str2ba(adapter->address, &src); +	str2ba(source, &src);  	str2ba(device->address, &dst);  	bt_cancel_discovery(&src, &dst); @@ -424,6 +430,7 @@ static DBusMessage *cancel_discover(DBusConnection *conn,  	struct btd_device *device = user_data;  	struct adapter *adapter = device->adapter;  	bdaddr_t src, dst; +	const gchar *source = adapter_get_address(adapter);  	if (!device->discov_active)  		return g_dbus_create_error(msg, @@ -437,7 +444,7 @@ static DBusMessage *cancel_discover(DBusConnection *conn,  				ERROR_INTERFACE ".NotAuthorized",  				"Not Authorized"); - 	str2ba(adapter->address, &src); + 	str2ba(source, &src);  	str2ba(device->address, &dst);  	if (bt_cancel_discovery(&src, &dst) < 0) @@ -659,7 +666,7 @@ void device_probe_drivers(struct btd_device *device, GSList *uuids, sdp_list_t *  void device_remove_drivers(struct btd_device *device, GSList *uuids, sdp_list_t *recs)  {  	struct adapter *adapter = device_get_adapter(device); -	const gchar *src = adapter->address; +	const gchar *src = adapter_get_address(adapter);  	const gchar *dst = device_get_address(device);  	GSList *list; @@ -806,7 +813,7 @@ static void update_services(struct browse_req *req, sdp_list_t *recs)  {  	struct btd_device *device = req->device;  	struct adapter *adapter = device_get_adapter(device); -	const gchar *src = adapter->address; +	const gchar *src = adapter_get_address(adapter);  	const gchar *dst = device_get_address(device);  	sdp_list_t *seq; @@ -848,8 +855,9 @@ static void store(struct btd_device *device)  	struct adapter *adapter = device->adapter;  	bdaddr_t src, dst;  	char *str; +	const gchar *source = adapter_get_address(adapter); -	str2ba(adapter->address, &src); +	str2ba(source, &src);  	str2ba(device->address, &dst);  	if (!device->uuids) { @@ -870,6 +878,7 @@ static void browse_cb(sdp_list_t *recs, int err, gpointer user_data)  	bdaddr_t src, dst;  	uuid_t uuid;  	DBusMessage *reply; +	const gchar *source = adapter_get_address(adapter);  	if (err < 0)  		goto proceed; @@ -882,7 +891,7 @@ static void browse_cb(sdp_list_t *recs, int err, gpointer user_data)  	if (uuid_list[++req->search_uuid]) {  		sdp_uuid16_create(&uuid, uuid_list[req->search_uuid]); -		str2ba(adapter->address, &src); +		str2ba(source, &src);  		str2ba(device->address, &dst);  		bt_search_service(&src, &dst, &uuid, browse_cb, user_data, NULL);  		return; @@ -958,13 +967,14 @@ int device_browse(struct btd_device *device, DBusConnection *conn,  	bdaddr_t src, dst;  	uuid_t uuid;  	GSList *l; +	const gchar *source = adapter_get_address(adapter);  	req = g_new0(struct browse_req, 1);  	req->conn = dbus_connection_ref(conn);  	req->msg = dbus_message_ref(msg);  	req->device = device; -	str2ba(adapter->address, &src); +	str2ba(source, &src);  	str2ba(device->address, &dst);  	if (search) { diff --git a/hcid/manager.c b/hcid/manager.c index e237742a..16f54a81 100644 --- a/hcid/manager.c +++ b/hcid/manager.c @@ -105,8 +105,9 @@ int get_device_alias(uint16_t dev_id, const bdaddr_t *bdaddr, char *alias, size_  	struct adapter *adapter = manager_find_adapter_by_id(dev_id);  	char filename[PATH_MAX + 1], addr[18], *tmp;  	int err; +	const gchar *source = adapter_get_address(adapter); -	create_name(filename, PATH_MAX, STORAGEDIR, adapter->address, "aliases"); +	create_name(filename, PATH_MAX, STORAGEDIR, source, "aliases");  	ba2str(bdaddr, addr); @@ -124,9 +125,10 @@ int get_device_alias(uint16_t dev_id, const bdaddr_t *bdaddr, char *alias, size_  int set_device_alias(uint16_t dev_id, const bdaddr_t *bdaddr, const char *alias)  {  	struct adapter *adapter = manager_find_adapter_by_id(dev_id); +	const gchar *source = adapter_get_address(adapter);  	char filename[PATH_MAX + 1], addr[18]; -	create_name(filename, PATH_MAX, STORAGEDIR, adapter->address, "aliases"); +	create_name(filename, PATH_MAX, STORAGEDIR, source, "aliases");  	create_file(filename, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); @@ -365,8 +367,9 @@ static gint adapter_address_cmp(gconstpointer a, gconstpointer b)  {  	const struct adapter *adapter = a;  	const char *address = b; +	const gchar *source = adapter_get_address(adapter); -	return strcmp(adapter->address, address); +	return strcmp(source, address);  }  struct adapter *manager_find_adapter(const bdaddr_t *sba) diff --git a/input/manager.c b/input/manager.c index aaa4a3ba..b90d1e5e 100644 --- a/input/manager.c +++ b/input/manager.c @@ -175,7 +175,7 @@ int input_probe(struct btd_device_driver *driver,  	memset(&hidp, 0, sizeof(hidp)); -	source = adapter->address; +	source = adapter_get_address(adapter);  	destination = device_get_address(device);  	if (load_stored(source, destination, &hidp) == 0) @@ -234,7 +234,7 @@ int headset_input_probe(struct btd_device_driver *driver,  		return -EINVAL;  	} -	source = adapter->address; +	source = adapter_get_address(adapter);  	destination = device_get_address(device);  	str2ba(source, &src); diff --git a/network/manager.c b/network/manager.c index 616d63c0..b3ba1cdb 100644 --- a/network/manager.c +++ b/network/manager.c @@ -89,7 +89,7 @@ static int network_probe(struct btd_device *device, uint16_t id)  	DBG("path %s", path); -	source = adapter->address; +	source = adapter_get_address(adapter);  	destination = device_get_address(device);  	str2ba(source, &src); diff --git a/serial/main.c b/serial/main.c index 1d7cf228..40c49a7a 100644 --- a/serial/main.c +++ b/serial/main.c @@ -60,7 +60,7 @@ static DBusMessage *serial_connect(DBusConnection *conn,  		return NULL;  	src = device_get_address(device); -	dst = adapter->address; +	dst = adapter_get_address(adapter);  	service_connect(conn, msg, src, dst, target); | 
