[Pcsclite-cvs-commit] r4562 - in /trunk/PCSC/src: eventhandler.c readerfactory.c winscard_clnt.c winscard_svc.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Thu Nov 19 09:07:25 UTC 2009


Author: rousseau
Date: Thu Nov 19 09:07:24 2009
New Revision: 4562

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=4562
Log:
use list_delete() instead of list_locate() + list_delete_at()

Modified:
    trunk/PCSC/src/eventhandler.c
    trunk/PCSC/src/readerfactory.c
    trunk/PCSC/src/winscard_clnt.c
    trunk/PCSC/src/winscard_svc.c

Modified: trunk/PCSC/src/eventhandler.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/eventhandler.c?rev=4562&op=diff
==============================================================================
--- trunk/PCSC/src/eventhandler.c (original)
+++ trunk/PCSC/src/eventhandler.c Thu Nov 19 09:07:24 2009
@@ -63,12 +63,11 @@
 LONG EHTryToUnregisterClientForEvent(int32_t filedes)
 {
 	LONG rv = SCARD_S_SUCCESS;
-	int pos, ret;
+	int ret;
 
 	(void)SYS_MutexLock(&ClientsWaitingForEvent_lock);
 
-	pos = list_locate(&ClientsWaitingForEvent, &filedes);
-	ret = list_delete_at(&ClientsWaitingForEvent, pos);
+	ret = list_delete(&ClientsWaitingForEvent, &filedes);
 	
 	(void)SYS_MutexUnLock(&ClientsWaitingForEvent_lock);
 	

Modified: trunk/PCSC/src/readerfactory.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/readerfactory.c?rev=4562&op=diff
==============================================================================
--- trunk/PCSC/src/readerfactory.c (original)
+++ trunk/PCSC/src/readerfactory.c Thu Nov 19 09:07:24 2009
@@ -1156,7 +1156,7 @@
 LONG RFRemoveReaderHandle(PREADER_CONTEXT rContext, SCARDHANDLE hCard)
 {
 	RDR_CLIHANDLES *currentHandle;
-	int list_index, lrv;
+	int lrv;
 
 	currentHandle = list_seek(&(rContext->handlesList), &hCard);
 	if (NULL == currentHandle)
@@ -1165,17 +1165,11 @@
 		return SCARD_E_INVALID_HANDLE;
 	}
 
-	list_index = list_locate(&(rContext->handlesList), currentHandle);
-	if (list_index < 0)
+	lrv = list_delete(&(rContext->handlesList), currentHandle);
+	if (lrv < 0)
 		Log2(PCSC_LOG_CRITICAL,
-			"list_locate failed with return value: %X", list_index);
-	else
-	{
-		lrv = list_delete_at(&(rContext->handlesList), list_index);
-		if (lrv < 0)
-			Log2(PCSC_LOG_CRITICAL,
-				"list_delete_at failed with return value: %X", lrv);
-	}
+			"list_delete failed with return value: %X", lrv);
+
 	free(currentHandle);
 
 	/* Not Found */

Modified: trunk/PCSC/src/winscard_clnt.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_clnt.c?rev=4562&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_clnt.c (original)
+++ trunk/PCSC/src/winscard_clnt.c Thu Nov 19 09:07:24 2009
@@ -3446,7 +3446,7 @@
 
 static LONG SCardCleanContext(SCONTEXTMAP * targetContextMap)
 {
-	int list_index;
+	int list_index, lrv;
 	int listSize;
 	CHANNEL_MAP * currentChannelMap;
 
@@ -3476,22 +3476,12 @@
 
 	}
 	list_destroy(&(targetContextMap->channelMapList));
-	list_index = list_locate(&contextMapList, targetContextMap);
-	if (list_index < 0)
+
+	lrv = list_delete(&contextMapList, targetContextMap);
+	if (lrv < 0)
 	{
 		Log2(PCSC_LOG_CRITICAL,
-			"list_locate failed with return value: %X", list_index);
-	}
-	else
-	{
-		int lrv;
-
-		lrv = list_delete_at(&contextMapList, list_index);
-		if (lrv < 0)
-		{
-			Log2(PCSC_LOG_CRITICAL,
-				"list_delete_at failed with return value: %X", lrv);
-		}
+			"list_delete failed with return value: %X", lrv);
 	}
 
 	return SCARD_S_SUCCESS;
@@ -3530,7 +3520,7 @@
 {
 	SCONTEXTMAP * currentContextMap;
 	CHANNEL_MAP * currentChannelMap;
-	int list_index = 0;
+	int lrv;
 	LONG rv;
 
 	rv = SCardGetContextAndChannelFromHandle(hCard, &currentContextMap,
@@ -3540,23 +3530,11 @@
 
 	free(currentChannelMap->readerName);
 
-	list_index = list_locate(&(currentContextMap->channelMapList),
-		currentChannelMap);
-	if (list_index < 0)
+	lrv = list_delete(&(currentContextMap->channelMapList), currentChannelMap);
+	if (lrv < 0)
 	{
 		Log2(PCSC_LOG_CRITICAL,
-			"list_locate failed with return value: %X", list_index);
-	}
-	else
-	{
-		int lrv;
-
-		lrv = list_delete_at(&(currentContextMap->channelMapList), list_index);
-		if (lrv < 0)
-		{
-			Log2(PCSC_LOG_CRITICAL,
-				"list_delete_at failed with return value: %X", lrv);
-		}
+			"list_delete failed with return value: %X", lrv);
 	}
 
 	free(currentChannelMap);

Modified: trunk/PCSC/src/winscard_svc.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_svc.c?rev=4562&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_svc.c (original)
+++ trunk/PCSC/src/winscard_svc.c Thu Nov 19 09:07:24 2009
@@ -194,22 +194,12 @@
 		(PCSCLITE_THREAD_FUNCTION( )) ContextThread, (LPVOID) newContext);
 	if (rv)
 	{
-		int list_index;
+		int lrv2;
 
 		Log2(PCSC_LOG_CRITICAL, "SYS_ThreadCreate failed: %s", strerror(rv));
-		list_index = list_locate(&contextsList, (const void *) newContext);
-		if (list_index >= 0)
-		{
-			int lrv2 = list_delete_at(&contextsList, list_index);
-			if (lrv2 < 0)
-				Log2(PCSC_LOG_CRITICAL, "list_delete_at() failed with error %X", lrv2);
-		}
-		else
-		{
-			Log3(PCSC_LOG_CRITICAL,
-				"list_locate() failed with error %X when looking for threadContext %X",
-				list_index, newContext);
-		}
+		lrv2 = list_delete(&contextsList, newContext);
+		if (lrv2 < 0)
+			Log2(PCSC_LOG_CRITICAL, "list_delete failed with error %X", lrv2);
 		list_destroy(&(newContext->cardsList));
 		goto error;
 	}
@@ -880,25 +870,16 @@
 
 static LONG MSGRemoveHandle(SCARDHANDLE hCard, SCONTEXT * threadContext)
 {
-	int list_index = 0;
-
-	list_index = list_locate(&(threadContext->cardsList), &hCard);
-	if (list_index >= 0)
-	{
-		int lrv;
-
-		lrv = list_delete_at(&(threadContext->cardsList), list_index);
-		if (lrv < 0)
-			Log2(PCSC_LOG_CRITICAL, "list_delete_at() failed with error %X", lrv);
-
-		return SCARD_S_SUCCESS;
-	}
-	else
-	{
-		Log3(PCSC_LOG_CRITICAL, "list_locate() failed with error %X when looking for hCard %X",
-			list_index, hCard);
-	}
-	return SCARD_E_INVALID_VALUE;
+	int lrv;
+
+	lrv = list_delete(&(threadContext->cardsList), &hCard);
+	if (lrv < 0)
+	{
+		Log2(PCSC_LOG_CRITICAL, "list_delete failed with error %X", lrv);
+		return SCARD_E_INVALID_VALUE;
+	}
+
+	return SCARD_S_SUCCESS;
 }
 
 
@@ -922,7 +903,8 @@
  */
 static LONG MSGCleanupClient(SCONTEXT * threadContext)
 {
-	int list_index = 0;
+	int lrv;
+
 	if (threadContext->hContext != 0)
 	{
 		(void)SCardReleaseContext(threadContext->hContext);
@@ -938,20 +920,10 @@
 	 * Hopefully the compiler won't optimise it out */
 	memset((void*) threadContext, 0, sizeof(SCONTEXT));
 	Log2(PCSC_LOG_DEBUG, "Freeing SCONTEXT @%X", threadContext);
-	list_index = list_locate(&contextsList, (const void *) threadContext);
-	if (list_index >= 0)
-	{
-		int lrv = list_delete_at(&contextsList, list_index);
-		if (lrv < 0)
-		{
-			Log2(PCSC_LOG_CRITICAL, "list_delete_at() failed with error %x", lrv);
-		}
-	}
-	else
-	{
-		Log3(PCSC_LOG_CRITICAL, "list_locate() failed with error %X when looking for threadContext %X",
-			list_index, threadContext);
-	}
+
+	lrv = list_delete(&contextsList, threadContext);
+	if (lrv < 0)
+		Log2(PCSC_LOG_CRITICAL, "list_delete_at() failed with error %x", lrv);
 
 	free(threadContext);
 




More information about the Pcsclite-cvs-commit mailing list