[Pcsclite-cvs-commit] r5812 - /trunk/PCSC/src/winscard.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Tue Jun 28 19:26:23 UTC 2011


Author: rousseau
Date: Tue Jun 28 19:26:22 2011
New Revision: 5812

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=5812
Log:
SCardConnect(), SCardReconnect(): use ATRDecodeAtr() directly instead of
PHGetDefaultProtocol() and PHGetAvailableProtocols()

Modified:
    trunk/PCSC/src/winscard.c

Modified: trunk/PCSC/src/winscard.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard.c?rev=5812&op=diff
==============================================================================
--- trunk/PCSC/src/winscard.c (original)
+++ trunk/PCSC/src/winscard.c Tue Jun 28 19:26:22 2011
@@ -348,23 +348,19 @@
 			/* the protocol is not yet set (no PPS yet) */
 			if (SCARD_PROTOCOL_UNDEFINED == rContext->readerState->cardProtocol)
 			{
-				UCHAR ucAvailable, ucDefault;
+				int availableProtocols, defaultProtocol;
 				int ret;
 
-				ucDefault = PHGetDefaultProtocol(rContext->readerState->cardAtr,
+				ATRDecodeAtr(&availableProtocols, &defaultProtocol,
+					rContext->readerState->cardAtr,
 					rContext->readerState->cardAtrLength);
-				ucAvailable =
-					PHGetAvailableProtocols(rContext->readerState->cardAtr,
-							rContext->readerState->cardAtrLength);
-
-				/*
-				 * If it is set to ANY let it do any of the protocols
-				 */
+
+				/* If it is set to ANY let it do any of the protocols */
 				if (dwPreferredProtocols & SCARD_PROTOCOL_ANY_OLD)
 					dwPreferredProtocols = SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1;
 
 				ret = PHSetProtocol(rContext, dwPreferredProtocols,
-					ucAvailable, ucDefault);
+					availableProtocols, defaultProtocol);
 
 				/* keep cardProtocol = SCARD_PROTOCOL_UNDEFINED in case of error  */
 				if (SET_PROTOCOL_PPS_FAILED == ret)
@@ -635,21 +631,19 @@
 			/* the protocol is not yet set (no PPS yet) */
 			if (SCARD_PROTOCOL_UNDEFINED == rContext->readerState->cardProtocol)
 			{
-				UCHAR ucAvailable, ucDefault;
+				int availableProtocols, defaultProtocol;
 				int ret;
 
-				ucDefault = PHGetDefaultProtocol(rContext->readerState->cardAtr,
+				ATRDecodeAtr(&availableProtocols, &defaultProtocol,
+					rContext->readerState->cardAtr,
 					rContext->readerState->cardAtrLength);
-				ucAvailable =
-					PHGetAvailableProtocols(rContext->readerState->cardAtr,
-							rContext->readerState->cardAtrLength);
 
 				/* If it is set to ANY let it do any of the protocols */
 				if (dwPreferredProtocols & SCARD_PROTOCOL_ANY_OLD)
 					dwPreferredProtocols = SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1;
 
 				ret = PHSetProtocol(rContext, dwPreferredProtocols,
-					ucAvailable, ucDefault);
+					availableProtocols, defaultProtocol);
 
 				/* keep cardProtocol = SCARD_PROTOCOL_UNDEFINED in case of error  */
 				if (SET_PROTOCOL_PPS_FAILED == ret)




More information about the Pcsclite-cvs-commit mailing list