[Pcsclite-cvs-commit] r1818 - trunk/Drivers/ccid/src

Ludovic Rousseau rousseau at costa.debian.org
Fri Jan 20 13:25:57 UTC 2006


Author: rousseau
Date: 2006-01-20 13:25:56 +0000 (Fri, 20 Jan 2006)
New Revision: 1818

Modified:
   trunk/Drivers/ccid/src/ccid_usb.c
Log:
get_ccid_usb_interface(): use the same code for a device with 1 or >1
interfaces


Modified: trunk/Drivers/ccid/src/ccid_usb.c
===================================================================
--- trunk/Drivers/ccid/src/ccid_usb.c	2006-01-18 21:31:29 UTC (rev 1817)
+++ trunk/Drivers/ccid/src/ccid_usb.c	2006-01-20 13:25:56 UTC (rev 1818)
@@ -632,28 +632,22 @@
 /*@null@*/ struct usb_interface * get_ccid_usb_interface(struct usb_device *dev)
 {
 	struct usb_interface *usb_interface = NULL; 
+	int i;
 
 	/* if multiple interfaces use the first one with CCID class type */
-	if (dev->config->bNumInterfaces > 1)
+	for (i=0; i<dev->config->bNumInterfaces; i++)
 	{
-		int ii;
-		for (ii=0; ii<dev->config->bNumInterfaces; ii++)
-		{
-			/* CCID Class? */
-			if (dev->config->interface[ii].altsetting->bInterfaceClass == 0xb
+		/* CCID Class? */
+		if (dev->config->interface[i].altsetting->bInterfaceClass == 0xb
 #ifdef ALLOW_PROPRIETARY_CLASS
-				|| dev->config->interface[ii].altsetting->bInterfaceClass == 0xff
+			|| dev->config->interface[i].altsetting->bInterfaceClass == 0xff
 #endif
-				)
-			{
-				usb_interface = &dev->config->interface[ii];
-				break;
-			}
+			)
+		{
+			usb_interface = &dev->config->interface[i];
+			break;
 		}
 	}
-	else
-		/* only one interface found */
-		usb_interface = dev->config->interface;
 
 #ifdef O2MICRO_OZ776_PATCH
 	if (usb_interface != NULL
@@ -661,8 +655,6 @@
 		+ dev->descriptor.idProduct)
 		&& (0 == usb_interface->altsetting->extralen)) /* this is the bug */
 	{
-		int i;
-
 		for (i=0; i<usb_interface->altsetting->bNumEndpoints; i++)
 		{
 			/* find the extra[] array */




More information about the Pcsclite-cvs-commit mailing list