[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