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

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Tue Oct 12 09:07:10 UTC 2010


Author: rousseau
Date: Tue Oct 12 09:07:03 2010
New Revision: 5299

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=5299
Log:
SCardReconnect(): return SCARD_E_NO_SMARTCARD when card is removed
and SCARD_W_UNRESPONSIVE_CARD when card is unresponsive instead of
SCARD_E_PROTO_MISMATCH 

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=5299&op=diff
==============================================================================
--- trunk/PCSC/src/winscard.c (original)
+++ trunk/PCSC/src/winscard.c Tue Oct 12 09:07:03 2010
@@ -640,9 +640,14 @@
 	else
 		if (dwInitialization == SCARD_LEAVE_CARD)
 		{
-			/*
-			 * Do nothing
-			 */
+			DWORD dwStatus = rContext->readerState->readerState;
+
+			if (dwStatus & SCARD_ABSENT)
+				return SCARD_E_NO_SMARTCARD;
+
+			if ((dwStatus & SCARD_PRESENT)
+				&& (dwStatus & SCARD_SWALLOWED))
+				return SCARD_W_UNRESPONSIVE_CARD;
 		}
 
 	/*******************************************




More information about the Pcsclite-cvs-commit mailing list