Added checks for altsetting =! 0.

merge-requests/1/head
Henning Geinitz 2006-01-22 16:52:13 +00:00
rodzic 7be3113c60
commit 2b425ad61c
3 zmienionych plików z 16 dodań i 2 usunięć

Wyświetl plik

@ -5,6 +5,8 @@
<olaf@member.fsf.org>).
* doc/descriptions/unsupported.desc: Added Scanshell 800N and
Canon Smartbase MP360.
* sanei/sanei_usb.c tools/sane-find-scanner.c: Added checks for
altsetting =! 0.
2006-01-22 Mattias Ellert <mattias.ellert@tsl.uu.se>

Wyświetl plik

@ -459,6 +459,15 @@ sanei_usb_init (void)
found = SANE_TRUE;
break;
case USB_CLASS_PER_INTERFACE:
if (dev->config[0].interface[interface].num_altsetting == 0 ||
!dev->config[0].interface[interface].altsetting)
{
DBG (1, "sanei_usb_init: device 0x%04x/0x%04x doesn't "
"have an altsetting for interface %d\n",
dev->descriptor.idVendor, dev->descriptor.idProduct,
interface);
continue;
}
switch (dev->config[0].interface[interface].altsetting[0].
bInterfaceClass)
{
@ -476,8 +485,8 @@ sanei_usb_init (void)
"scanner (%d/%d)\n", dev->descriptor.idVendor,
dev->descriptor.idProduct, interface,
dev->descriptor.bDeviceClass,
dev->config[0].interface[interface].altsetting[0].
bInterfaceClass);
dev->config[0].interface[interface].altsetting != 0 ? dev->config[0].interface[interface].altsetting[0].
bInterfaceClass : -1);
}
interface--;
if (!found)

Wyświetl plik

@ -625,6 +625,9 @@ check_libusb_device (struct usb_device *dev, SANE_Bool from_file)
++is_scanner;
break;
case USB_CLASS_PER_INTERFACE:
if (dev->config[0].interface[interface_nr].num_altsetting == 0 ||
!dev->config[0].interface[interface_nr].altsetting)
break;
switch (dev->config[0].interface[interface_nr].altsetting[0].bInterfaceClass)
{
case USB_CLASS_VENDOR_SPEC: