diff options
-rw-r--r-- | hcid/dbus-manager.c | 5 | ||||
-rw-r--r-- | hcid/main.c | 13 | ||||
-rw-r--r-- | hcid/security.c | 4 |
3 files changed, 7 insertions, 15 deletions
diff --git a/hcid/dbus-manager.c b/hcid/dbus-manager.c index 10d1a07f..b4805632 100644 --- a/hcid/dbus-manager.c +++ b/hcid/dbus-manager.c @@ -169,10 +169,7 @@ static DBusHandlerResult list_adapters(DBusConnection *conn, char path[MAX_PATH_LENGTH], *path_ptr = path; struct hci_dev_info di; - memset(&di, 0 , sizeof(struct hci_dev_info)); - di.dev_id = dr->dev_id; - - if (ioctl(sk, HCIGETDEVINFO, &di) < 0) + if (hci_devinfo(dr->dev_id, &di) < 0) continue; snprintf(path, sizeof(path), "%s/%s", BASE_PATH, di.name); diff --git a/hcid/main.c b/hcid/main.c index 5aadca01..be71c3ad 100644 --- a/hcid/main.c +++ b/hcid/main.c @@ -127,8 +127,7 @@ static struct device_opts *get_device_opts(int sock, int hdev) struct hci_dev_info di; /* First try to get BD_ADDR based settings ... */ - di.dev_id = hdev; - if (!ioctl(sock, HCIGETDEVINFO, (void *) &di)) { + if (!hci_devinfo(hdev, &di) < 0) { char addr[18]; ba2str(&di.bdaddr, addr); device_opts = find_device_opts(addr); @@ -162,8 +161,7 @@ int get_discoverable_timeout(int hdev) if (sock < 0) goto no_address; - di.dev_id = hdev; - if (ioctl(sock, HCIGETDEVINFO, (void *) &di) < 0) { + if (!hci_devinfo(hdev, &di) < 0) { close(sock); goto no_address; } @@ -272,8 +270,7 @@ static void configure_device(int hdev) exit(1); } - di.dev_id = hdev; - if (ioctl(s, HCIGETDEVINFO, (void *) &di) < 0) + if (hci_devinfo(hdev, &di) < 0) exit(1); if (hci_test_bit(HCI_RAW, &di.flags)) @@ -410,9 +407,7 @@ static void init_device(int hdev) exit(1); } - memset(&di, 0, sizeof(di)); - di.dev_id = dev_id; - if (ioctl(dd, HCIGETDEVINFO, (void *) &di) < 0) + if (hci_devinfo(dev_id, &di) < 0) exit(1); if (hci_test_bit(HCI_RAW, &di.flags)) diff --git a/hcid/security.c b/hcid/security.c index 9b02f213..08a5835d 100644 --- a/hcid/security.c +++ b/hcid/security.c @@ -821,11 +821,11 @@ void start_security_manager(int hdev) return; } - di->dev_id = hdev; - if (ioctl(dev, HCIGETDEVINFO, (void *)di)) { + if (hci_devinfo(hdev, di) < 0) { error("Can't get device info: %s (%d)", strerror(errno), errno); close(dev); + free(di); return; } |