summaryrefslogtreecommitdiffstats
path: root/lib/libusb/libusb20_compat01.c
diff options
context:
space:
mode:
authorwkoszek <wkoszek@FreeBSD.org>2010-02-11 08:24:35 +0000
committerwkoszek <wkoszek@FreeBSD.org>2010-02-11 08:24:35 +0000
commit1ca3f3128bcb61c6225b71950f265df5e3287379 (patch)
tree4e6d274c0096b05ee6e7782670f89ee249f99a3a /lib/libusb/libusb20_compat01.c
parent9c8581b59c3456026c2dccc53e2c38ec33caa078 (diff)
downloadFreeBSD-src-1ca3f3128bcb61c6225b71950f265df5e3287379.zip
FreeBSD-src-1ca3f3128bcb61c6225b71950f265df5e3287379.tar.gz
Within libusb 0.1 API, bus number is always faked to 0. Device numbers,
however, are possitive and seem to be reverse sorted in the list. Conform device numbering and bring a result that is consistent with the libusb 0.1 API. It is now possible to distinguish a device based on its (bus, dev) numbers. There shouldn't be any negative change in behavior after this commit. Tested with: scanimage (sane) http://freebsd.czest.pl/~wkoszek/qemu/l.c Reviewed by: hps@
Diffstat (limited to 'lib/libusb/libusb20_compat01.c')
-rw-r--r--lib/libusb/libusb20_compat01.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/libusb/libusb20_compat01.c b/lib/libusb/libusb20_compat01.c
index 48a7dd5..2fbbae7 100644
--- a/lib/libusb/libusb20_compat01.c
+++ b/lib/libusb/libusb20_compat01.c
@@ -829,6 +829,7 @@ usb_find_devices(void)
struct libusb20_device *pdev;
struct usb_device *udev;
struct LIBUSB20_DEVICE_DESC_DECODED *ddesc;
+ int devnum;
int err;
/* cleanup after last device search */
@@ -855,6 +856,7 @@ usb_find_devices(void)
}
/* iterate all devices */
+ devnum = 1;
pdev = NULL;
while ((pdev = libusb20_be_device_foreach(usb_backend, pdev))) {
udev = malloc(sizeof(*udev));
@@ -891,6 +893,7 @@ usb_find_devices(void)
/* truncate number of configurations */
udev->descriptor.bNumConfigurations = USB_MAXCONFIG;
}
+ udev->devnum = devnum++;
/* link together the two structures */
udev->dev = pdev;
pdev->privLuData = udev;
OpenPOWER on IntegriCloud