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

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Fri Jan 15 08:53:26 UTC 2010


Author: rousseau
Date: Fri Jan 15 08:53:25 2010
New Revision: 4669

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=4669
Log:
define and use the CHECK_SAME_PROCESS macro instead of calling
SCardCheckSameProcess() directly 

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=4669&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_clnt.c (original)
+++ trunk/PCSC/src/winscard_clnt.c Fri Jan 15 08:53:25 2010
@@ -308,6 +308,11 @@
 	LPBYTE pbAttr, LPDWORD pcbAttrLen);
 
 static LONG SCardCheckSameProcess(void);
+#define CHECK_SAME_PROCESS \
+	rv = SCardCheckSameProcess(); \
+	if (rv != SCARD_S_SUCCESS) \
+		return rv;
+
 static LONG getReaderStates(SCONTEXTMAP * currentContextMap);
 
 /*
@@ -620,6 +625,8 @@
 
 	PROFILE_START
 
+	CHECK_SAME_PROCESS
+
 	/*
 	 * Make sure this context has been opened
 	 * and get currentContextMap
@@ -629,19 +636,6 @@
 	{
 		PROFILE_END(SCARD_E_INVALID_HANDLE)
 		return SCARD_E_INVALID_HANDLE;
-	}
-
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-	{
-		/*
-		 * Remove the local context from the stack
-		 */
-		(void)SCardLockThread();
-		(void)SCardRemoveContext(hContext);
-		(void)SCardUnlockThread();
-
-		return rv;
 	}
 
 	(void)SYS_MutexLock(currentContextMap->mMutex);
@@ -807,9 +801,7 @@
 	if (strlen(szReader) > MAX_READERNAME)
 		return SCARD_E_INVALID_VALUE;
 
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
+	CHECK_SAME_PROCESS
 
 	/*
 	 * Make sure this context has been opened
@@ -968,9 +960,7 @@
 	if (pdwActiveProtocol == NULL)
 		return SCARD_E_INVALID_PARAMETER;
 
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
+	CHECK_SAME_PROCESS
 
 	/*
 	 * Make sure this handle has been opened
@@ -1074,9 +1064,7 @@
 
 	PROFILE_START
 
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
+	CHECK_SAME_PROCESS
 
 	/*
 	 * Make sure this handle has been opened
@@ -1182,9 +1170,7 @@
 
 	PROFILE_START
 
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
+	CHECK_SAME_PROCESS
 
 	/*
 	 * Make sure this handle has been opened
@@ -1306,9 +1292,7 @@
 	 */
 	randnum = 0;
 
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
+	CHECK_SAME_PROCESS
 
 	/*
 	 * Make sure this handle has been opened
@@ -1387,9 +1371,7 @@
 
 	PROFILE_START
 
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
+	CHECK_SAME_PROCESS
 
 	/*
 	 * Make sure this handle has been opened
@@ -1572,9 +1554,7 @@
 	*pcchReaderLen = 0;
 	*pcbAtrLen = 0;
 
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
+	CHECK_SAME_PROCESS
 
 	/*
 	 * Make sure this handle has been opened
@@ -1868,9 +1848,7 @@
 		/* reader list is empty */
 		return SCARD_S_SUCCESS;
 
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
+	CHECK_SAME_PROCESS
 
 	/*
 	 * Make sure this context has been opened
@@ -1914,17 +1892,6 @@
 	j = 0;
 	do
 	{
-		rv = SCardCheckSameProcess();
-		if (rv != SCARD_S_SUCCESS)
-		{
-			if (currentContextMap->mMutex)
-				(void)SYS_MutexUnLock(currentContextMap->mMutex);
-
-			PROFILE_END(rv)
-
-			return rv;
-		}
-
 		currReader = &rgReaderStates[j];
 
 		/* Ignore for IGNORED readers */
@@ -2370,9 +2337,7 @@
 	if (NULL != lpBytesReturned)
 		*lpBytesReturned = 0;
 
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
+	CHECK_SAME_PROCESS
 
 	/*
 	 * Make sure this handle has been opened
@@ -2672,9 +2637,7 @@
 	SCONTEXTMAP * currentContextMap;
 	CHANNEL_MAP * pChannelMap;
 
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
+	CHECK_SAME_PROCESS
 
 	/*
 	 * Make sure this handle has been opened
@@ -2832,9 +2795,7 @@
 			pcbRecvLength == NULL || pioSendPci == NULL)
 		return SCARD_E_INVALID_PARAMETER;
 
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
+	CHECK_SAME_PROCESS
 
 	/*
 	 * Make sure this handle has been opened
@@ -3016,9 +2977,7 @@
 	if (pcchReaders == NULL)
 		return SCARD_E_INVALID_PARAMETER;
 
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
+	CHECK_SAME_PROCESS
 
 	/*
 	 * Make sure this context has been opened
@@ -3133,9 +3092,7 @@
 
 	PROFILE_START
 
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
+	CHECK_SAME_PROCESS
 
 	/*
 	 * Make sure this context has been opened
@@ -3215,9 +3172,7 @@
 	const char ReaderGroup[] = "SCard$DefaultReaders\0";
 	const int dwGroups = sizeof(ReaderGroup);
 
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
+	CHECK_SAME_PROCESS
 
 	/*
 	 * Make sure this context has been opened
@@ -3396,9 +3351,7 @@
 	rv = SCARD_S_SUCCESS;
 
 	/* Check if the _same_ server is running */
-	rv = SCardCheckSameProcess();
-	if (rv != SCARD_S_SUCCESS)
-		return rv;
+	CHECK_SAME_PROCESS
 
 	/*
 	 * Make sure this context has been opened




More information about the Pcsclite-cvs-commit mailing list