svn commit: r203773 - head/lib/libusb

Wojciech A. Koszek wkoszek at FreeBSD.org
Thu Feb 11 08:24:36 UTC 2010


Author: wkoszek
Date: Thu Feb 11 08:24:35 2010
New Revision: 203773
URL: http://svn.freebsd.org/changeset/base/203773

Log:
  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@

Modified:
  head/lib/libusb/libusb20_compat01.c

Modified: head/lib/libusb/libusb20_compat01.c
==============================================================================
--- head/lib/libusb/libusb20_compat01.c	Thu Feb 11 07:09:04 2010	(r203772)
+++ head/lib/libusb/libusb20_compat01.c	Thu Feb 11 08:24:35 2010	(r203773)
@@ -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;


More information about the svn-src-all mailing list