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

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Fri Jul 4 13:59:53 UTC 2008


Author: rousseau
Date: Fri Jul  4 13:59:53 2008
New Revision: 3052

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=3052
Log:
test SCardGetStatusChange() with reader name \\?PnP?\Notification to
detect new reader

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=3052&op=diff
==============================================================================
--- trunk/PCSC/src/testpcsc.c (original)
+++ trunk/PCSC/src/testpcsc.c Fri Jul  4 13:59:53 2008
@@ -93,12 +93,6 @@
 	rv = SCardIsValidContext(hContext+1);
 	test_rv(rv, hContext, DONT_PANIC);
 
-	printf("Testing SCardGetStatusChange \n");
-	printf("Please insert a working reader\t: ");
-	fflush(stdout);
-	rv = SCardGetStatusChange(hContext, INFINITE, 0, 0);
-	test_rv(rv, hContext, PANIC);
-
 	printf("Testing SCardListReaderGroups\t: ");
 #ifdef USE_AUTOALLOCATE
 	dwGroups = SCARD_AUTOALLOCATE;
@@ -133,9 +127,23 @@
 #endif
 
 wait_for_card_again:
+	mszGroups = NULL;
 	printf("Testing SCardListReaders\t: ");
-
-	mszGroups = NULL;
+	rv = SCardListReaders(hContext, mszGroups, NULL, &dwReaders);
+	test_rv(rv, hContext, DONT_PANIC);
+	if (SCARD_E_NO_READERS_AVAILABLE == rv)
+	{
+		printf("Testing SCardGetStatusChange \n");
+		printf("Please insert a working reader\t: ");
+		fflush(stdout);
+		rgReaderStates[0].szReader = "\\\\?PnP?\\Notification";
+		rgReaderStates[0].dwCurrentState = SCARD_STATE_EMPTY;
+
+		rv = SCardGetStatusChange(hContext, INFINITE, rgReaderStates, 1);
+		test_rv(rv, hContext, PANIC);
+	}
+
+	printf("Testing SCardListReaders\t: ");
 #ifdef USE_AUTOALLOCATE
 	dwReaders = SCARD_AUTOALLOCATE;
 	rv = SCardListReaders(hContext, mszGroups, (LPSTR)&mszReaders, &dwReaders);
@@ -147,7 +155,7 @@
 	mszReaders = calloc(dwReaders, sizeof(char));
 	rv = SCardListReaders(hContext, mszGroups, mszReaders, &dwReaders);
 #endif
-	test_rv(rv, hContext, PANIC);
+	test_rv(rv, hContext, DONT_PANIC);
 
 	/*
 	 * Have to understand the multi-string here




More information about the Pcsclite-cvs-commit mailing list