[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, ¤tContextMap,
@@ -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