[Pcsclite-cvs-commit] PCSC/src winscard.c,1.35,1.36

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


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

Modified Files:
	winscard.c 
Log Message:
in SCardConnect() and SCardReconnect(), returns
SCARD_W_UNRESPONSIVE_CARD if PHSetProtocol() fails with
SET_PROTOCOL_PPS_FAILED


Index: winscard.c
===================================================================
RCS file: /cvsroot/pcsclite/PCSC/src/winscard.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- winscard.c	21 Jun 2004 07:40:26 -0000	1.35
+++ winscard.c	29 Jun 2004 08:00:23 -0000	1.36
@@ -197,7 +197,10 @@
 				PHSetProtocol(rContext, dwPreferredProtocols,
 				ucAvailable, ucDefault);
 
-			if (rContext->readerState->cardProtocol == -1)
+			if (SET_PROTOCOL_PPS_FAILED == rContext->readerState->cardProtocol)
+				return SCARD_W_UNRESPONSIVE_CARD;
+
+			if (SET_PROTOCOL_WRONG_ARGUMENT == rContext->readerState->cardProtocol)
 				return SCARD_E_PROTO_MISMATCH;
 		}
 	}
@@ -470,7 +473,10 @@
 				PHSetProtocol(rContext, dwPreferredProtocols,
 				ucAvailable, ucDefault);
 
-			if (rContext->readerState->cardProtocol == -1)
+			if (SET_PROTOCOL_PPS_FAILED == rContext->readerState->cardProtocol)
+				return SCARD_W_UNRESPONSIVE_CARD;
+
+			if (SET_PROTOCOL_WRONG_ARGUMENT == rContext->readerState->cardProtocol)
 				return SCARD_E_PROTO_MISMATCH;
 		}
 	}