[Pcsclite-cvs-commit] PCSC/src eventhandler.c,1.23,1.24

rousseau@haydn.debian.org rousseau@haydn.debian.org


Update of /cvsroot/pcsclite/PCSC/src
In directory haydn:/tmp/cvs-serv32410

Modified Files:
	eventhandler.c 
Log Message:
...->cardProtocol = SCARD_PROTOCOL_UNSET; after a power up so that
the next SCardConnect() with perform a PPS with the desired protocol


Index: eventhandler.c
===================================================================
RCS file: /cvsroot/pcsclite/PCSC/src/eventhandler.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- eventhandler.c	2 Aug 2004 18:13:49 -0000	1.23
+++ eventhandler.c	2 Aug 2004 18:18:15 -0000	1.24
@@ -215,12 +215,11 @@
 			rContext->readerState->cardAtr,
 			&rContext->readerState->cardAtrLength);
 
+		/* the protocol is unset after a power on */
+		rContext->readerState->cardProtocol = SCARD_PROTOCOL_UNSET;
+
 		if (rv == IFD_SUCCESS)
 		{
-			rContext->readerState->cardProtocol =
-				PHGetDefaultProtocol(rContext->readerState->cardAtr,
-				rContext->readerState->cardAtrLength);
-
 			dwStatus |= SCARD_PRESENT;
 			dwStatus &= ~SCARD_ABSENT;
 			dwStatus |= SCARD_POWERED;
@@ -369,11 +368,11 @@
 					rContext->readerState->cardAtr,
 					&rContext->readerState->cardAtrLength);
 
+				/* the protocol is unset after a power on */
+				rContext->readerState->cardProtocol = SCARD_PROTOCOL_UNSET;
+
 				if (rv == IFD_SUCCESS)
 				{
-					rContext->readerState->cardProtocol =
-						PHGetDefaultProtocol(rContext->readerState->cardAtr,
-						rContext->readerState->cardAtrLength);
 					rContext->readerState->readerState |= SCARD_PRESENT;
 					rContext->readerState->readerState &= ~SCARD_ABSENT;
 					rContext->readerState->readerState |= SCARD_POWERED;
@@ -399,7 +398,6 @@
 					rContext->readerState->readerState &= ~SCARD_SPECIFIC;
 					rContext->readerState->readerState &= ~SCARD_UNKNOWN;
 					rContext->readerState->cardAtrLength = 0;
-					rContext->readerState->cardProtocol = SCARD_PROTOCOL_UNSET;
 				}
 
 				dwCurrentState = SCARD_PRESENT;