[Pcsclite-cvs-commit] r3125 - /trunk/PCSC/src/winscard_clnt.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Thu Sep 11 12:20:47 UTC 2008


Author: rousseau
Date: Thu Sep 11 12:20:47 2008
New Revision: 3125

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=3125
Log:
SCardStatus(): allow NULL for pcchReaderLen and pcbAtrLen

You can then use
  SCardStatus(hCard, pcReaders, &dwReaderLen, NULL, NULL, NULL, NULL)
to only get the reader name or
  SCardStatus(hCard, NULL, NULL, NULL, NULL, pbAtr, &dwAtrLen)
to only get the card ATR or even
  SCardStatus(hCard, NULL, NULL, NULL, NULL, NULL, NULL)
to get nothing except SCARD_S_SUCCESS

Modified:
    trunk/PCSC/src/winscard_clnt.c

Modified: trunk/PCSC/src/winscard_clnt.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_clnt.c?rev=3125&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_clnt.c (original)
+++ trunk/PCSC/src/winscard_clnt.c Thu Sep 11 12:20:47 2008
@@ -1526,6 +1526,7 @@
 	char *r;
 	char *bufReader = NULL;
 	LPBYTE bufAtr = NULL;
+	DWORD dummy;
 
 	PROFILE_START
 
@@ -1537,8 +1538,11 @@
 		*pdwProtocol = 0;
 
 	/* Check for NULL parameters */ 
-	if (pcchReaderLen == NULL || pcbAtrLen == NULL)
-		return SCARD_E_INVALID_PARAMETER;
+	if (pcchReaderLen == NULL)
+		pcchReaderLen = &dummy;
+	
+	if (pcbAtrLen == NULL)
+		pcbAtrLen = &dummy;
 
 	/* length passed from caller */
 	dwReaderLen = *pcchReaderLen;




More information about the Pcsclite-cvs-commit mailing list