Use the same logic to get the config descriptor in hid_open() as in hid_enumerate()

This commit is contained in:
Sam Lantinga 2019-11-25 16:29:12 -08:00
parent f3d95396d6
commit 532164366e
1 changed files with 4 additions and 1 deletions

View File

@ -940,7 +940,10 @@ hid_device * HID_API_EXPORT hid_open_path(const char *path, int bExclusive)
int i,j,k; int i,j,k;
libusb_get_device_descriptor(usb_dev, &desc); libusb_get_device_descriptor(usb_dev, &desc);
if (libusb_get_active_config_descriptor(usb_dev, &conf_desc) < 0) res = libusb_get_active_config_descriptor(usb_dev, &conf_desc);
if (res < 0)
libusb_get_config_descriptor(usb_dev, 0, &conf_desc);
if (!conf_desc)
continue; continue;
for (j = 0; j < conf_desc->bNumInterfaces; j++) { for (j = 0; j < conf_desc->bNumInterfaces; j++) {
const struct libusb_interface *intf = &conf_desc->interface[j]; const struct libusb_interface *intf = &conf_desc->interface[j];