diff options
Diffstat (limited to 'hcid/main.c')
| -rw-r--r-- | hcid/main.c | 11 | 
1 files changed, 5 insertions, 6 deletions
| diff --git a/hcid/main.c b/hcid/main.c index 4dcf2510..78c42208 100644 --- a/hcid/main.c +++ b/hcid/main.c @@ -151,9 +151,9 @@ static struct device_opts *get_device_opts(int sock, int hdev)  int get_discoverable_timeout(int hdev)  {  	int sock, timeout; -	char address[18];  	struct device_opts *device_opts = NULL;  	struct hci_dev_info di; +	char addr[18];  	if (hdev < 0)  		return HCID_DEFAULT_DISCOVERABLE_TIMEOUT; @@ -163,19 +163,18 @@ int get_discoverable_timeout(int hdev)  		goto no_address;  	di.dev_id = hdev; -	if (!ioctl(sock, HCIGETDEVINFO, (void *) &di)) -		ba2str(&di.bdaddr, address); -	else { +	if (ioctl(sock, HCIGETDEVINFO, (void *) &di) < 0) {  		close(sock);  		goto no_address;  	}  	close(sock); -	if (!read_discoverable_timeout(address, &timeout)) +	if (read_discoverable_timeout(&di.bdaddr, &timeout) == 0)  		return timeout; -	device_opts = find_device_opts(address); +	ba2str(&di.bdaddr, addr); +	device_opts = find_device_opts(addr);  no_address:  	if (!device_opts) { | 
