[Pcsclite-cvs-commit] r3069 - /trunk/PCSC/src/testpcsc.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Wed Jul 30 14:03:21 UTC 2008


Author: rousseau
Date: Wed Jul 30 14:03:21 2008
New Revision: 3069

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=3069
Log:
test SCARD_AUTOALLOCATE in SCardStatus()

Modified:
    trunk/PCSC/src/testpcsc.c

Modified: trunk/PCSC/src/testpcsc.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/testpcsc.c?rev=3069&op=diff
==============================================================================
--- trunk/PCSC/src/testpcsc.c (original)
+++ trunk/PCSC/src/testpcsc.c Wed Jul 30 14:03:21 2008
@@ -60,8 +60,12 @@
 	SCARD_READERSTATE_A rgReaderStates[1];
 	DWORD dwReaderLen, dwState, dwProt, dwAtrLen;
 	DWORD dwPref, dwReaders = 0;
-	char *pcReaders, *mszReaders;
+	char *pcReaders = NULL, *mszReaders;
+#ifdef USE_AUTOALLOCATE
+	unsigned char *pbAtr = NULL;
+#else
 	unsigned char pbAtr[MAX_ATR_SIZE];
+#endif
 	unsigned char buf[100];
 	DWORD dwBufLen;
 	unsigned char *pbAttr = NULL;
@@ -332,12 +336,19 @@
 
 	printf("Testing SCardStatus\t\t: ");
 
+#ifdef USE_AUTOALLOCATE
+	dwReaderLen = SCARD_AUTOALLOCATE;
+	dwAtrLen = SCARD_AUTOALLOCATE;
+	rv = SCardStatus(hCard, (LPSTR)&pcReaders, &dwReaderLen, &dwState, &dwProt,
+		(LPBYTE)&pbAtr, &dwAtrLen);
+#else
 	dwReaderLen = 100;
 	pcReaders   = malloc(sizeof(char) * 100);
 	dwAtrLen    = MAX_ATR_SIZE;
 
 	rv = SCardStatus(hCard, pcReaders, &dwReaderLen, &dwState, &dwProt,
 		pbAtr, &dwAtrLen);
+#endif
 	test_rv(rv, hContext, PANIC);
 
 	printf("Current Reader Name\t\t: " GREEN "%s\n" NORMAL, pcReaders);
@@ -353,6 +364,18 @@
 	}
 	printf(NORMAL "\n");
 
+#ifdef USE_AUTOALLOCATE
+	printf("Testing SCardFreeMemory\t\t: ");
+	rv = SCardFreeMemory(hContext, pcReaders);
+	test_rv(rv, hContext, PANIC);
+	printf("Testing SCardFreeMemory\t\t: ");
+	rv = SCardFreeMemory(hContext, pbAtr);
+	test_rv(rv, hContext, PANIC);
+#else
+	if (pcReaders)
+		free(pcReaders);
+#endif
+
 	if (rv != SCARD_S_SUCCESS)
 	{
 		SCardDisconnect(hCard, SCARD_RESET_CARD);




More information about the Pcsclite-cvs-commit mailing list