[Pcsclite-cvs-commit] CVS Drivers/ccid/src

CVS User rousseau ludovic.rousseau@free.fr
Wed, 06 Oct 2004 05:42:41 -0600


Update of /cvsroot/pcsclite/Drivers/ccid/src
In directory haydn:/tmp/cvs-serv8078

Modified Files:
	parse.c 
Log Message:
add support of "Character level exchange"


--- /cvsroot/pcsclite/Drivers/ccid/src/parse.c	2004/08/06 13:29:00	1.18
+++ /cvsroot/pcsclite/Drivers/ccid/src/parse.c	2004/10/06 11:42:41	1.19
@@ -18,7 +18,7 @@
 */
 
 /*
- * $Id: parse.c,v 1.18 2004/08/06 13:29:00 rousseau Exp $
+ * $Id: parse.c,v 1.19 2004/10/06 11:42:41 rousseau Exp $
  */
 
 #include <stdio.h>
@@ -241,12 +241,24 @@
 		printf("   NAD value other than 00 accepted (T=1)\n");
 	if (extra[41] & 0x04)
 		printf("   Automatic IFSD exchange as first exchange (T=1)\n");
-	if (extra[42] & 0x01)
-		printf("   TPDU level exchange\n");
-	if (extra[42] & 0x02)
-		printf("   Short APDU level exchange\n");
-	if (extra[42] & 0x04)
-		printf("   Short and Extended APDU level exchange\n");
+	switch (extra[42] & 0x07)
+	{
+		case 0x00:
+			printf("   Character level exchange\n");
+			break;
+
+		case 0x01:
+			printf("   TPDU level exchange\n");
+			break;
+
+		case 0x02:
+			printf("   Short APDU level exchange\n");
+			break;
+
+		case 0x04:
+			printf("   Short and Extended APDU level exchange\n");
+			break;
+	}
 
 	printf("  dwMaxCCIDMessageLength: %d bytes\n", dw2i(extra, 44));
 	printf("  bClassGetResponse: %d\n", extra[48]);