[Pcsclite-cvs-commit] r5386 - in /trunk/PCSC/src: winscard_clnt.c winscard_msg.c winscard_msg.h winscard_svc.c
rousseau at users.alioth.debian.org
rousseau at users.alioth.debian.org
Mon Nov 8 10:01:04 UTC 2010
Author: rousseau
Date: Mon Nov 8 10:00:58 2010
New Revision: 5386
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=5386
Log:
MessageReceiveTimeout(), MessageSendWithHeader(), MessageSend() and
MessageReceive() now returns a PC/SC error code instead of an internal
value. So the callers can just return the error code to the application
with no transcoding.
Modified:
trunk/PCSC/src/winscard_clnt.c
trunk/PCSC/src/winscard_msg.c
trunk/PCSC/src/winscard_msg.h
trunk/PCSC/src/winscard_svc.c
Modified: trunk/PCSC/src/winscard_clnt.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_clnt.c?rev=5386&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_clnt.c (original)
+++ trunk/PCSC/src/winscard_clnt.c Mon Nov 8 10:00:58 2010
@@ -570,12 +570,14 @@
veStr.minor = PROTOCOL_VERSION_MINOR;
veStr.rv = SCARD_S_SUCCESS;
- if (-1 == MessageSendWithHeader(CMD_VERSION, dwClientID, sizeof(veStr),
- &veStr))
- return SCARD_E_NO_SERVICE;
+ rv = MessageSendWithHeader(CMD_VERSION, dwClientID, sizeof(veStr),
+ &veStr);
+ if (rv != SCARD_S_SUCCESS)
+ return rv;
/* Read a message from the server */
- if (MessageReceive(&veStr, sizeof(veStr), dwClientID) < 0)
+ rv = MessageReceive(&veStr, sizeof(veStr), dwClientID);
+ if (rv != SCARD_S_SUCCESS)
{
Log1(PCSC_LOG_CRITICAL,
"Your pcscd is too old and does not support CMD_VERSION");
@@ -600,8 +602,8 @@
rv = MessageSendWithHeader(SCARD_ESTABLISH_CONTEXT, dwClientID,
sizeof(scEstablishStruct), (void *) &scEstablishStruct);
- if (rv == -1)
- return SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
+ return rv;
/*
* Read the response from the server
@@ -609,8 +611,8 @@
rv = MessageReceive(&scEstablishStruct, sizeof(scEstablishStruct),
dwClientID);
- if (rv < 0)
- return SCARD_F_COMM_ERROR;
+ if (rv != SCARD_S_SUCCESS)
+ return rv;
if (scEstablishStruct.rv != SCARD_S_SUCCESS)
return scEstablishStruct.rv;
@@ -690,11 +692,8 @@
currentContextMap->dwClientID,
sizeof(scReleaseStruct), (void *) &scReleaseStruct);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/*
* Read a message from the server
@@ -702,11 +701,8 @@
rv = MessageReceive(&scReleaseStruct, sizeof(scReleaseStruct),
currentContextMap->dwClientID);
- if (rv < 0)
- {
- rv = SCARD_F_COMM_ERROR;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
rv = scReleaseStruct.rv;
end:
@@ -838,11 +834,8 @@
rv = MessageSendWithHeader(SCARD_CONNECT, currentContextMap->dwClientID,
sizeof(scConnectStruct), (void *) &scConnectStruct);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/*
* Read a message from the server
@@ -850,11 +843,8 @@
rv = MessageReceive(&scConnectStruct, sizeof(scConnectStruct),
currentContextMap->dwClientID);
- if (rv < 0)
- {
- rv = SCARD_F_COMM_ERROR;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
*phCard = scConnectStruct.hCard;
*pdwActiveProtocol = scConnectStruct.dwActiveProtocol;
@@ -998,11 +988,8 @@
rv = MessageSendWithHeader(SCARD_RECONNECT, currentContextMap->dwClientID,
sizeof(scReconnectStruct), (void *) &scReconnectStruct);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/*
* Read a message from the server
@@ -1010,11 +997,8 @@
rv = MessageReceive(&scReconnectStruct, sizeof(scReconnectStruct),
currentContextMap->dwClientID);
- if (rv < 0)
- {
- rv = SCARD_F_COMM_ERROR;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
rv = scReconnectStruct.rv;
@@ -1102,11 +1086,8 @@
rv = MessageSendWithHeader(SCARD_DISCONNECT, currentContextMap->dwClientID,
sizeof(scDisconnectStruct), (void *) &scDisconnectStruct);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/*
* Read a message from the server
@@ -1114,11 +1095,8 @@
rv = MessageReceive(&scDisconnectStruct, sizeof(scDisconnectStruct),
currentContextMap->dwClientID);
- if (rv < 0)
- {
- rv = SCARD_F_COMM_ERROR;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
(void)SCardRemoveHandle(hCard);
rv = scDisconnectStruct.rv;
@@ -1211,11 +1189,8 @@
currentContextMap->dwClientID,
sizeof(scBeginStruct), (void *) &scBeginStruct);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/*
* Read a message from the server
@@ -1223,11 +1198,8 @@
rv = MessageReceive(&scBeginStruct, sizeof(scBeginStruct),
currentContextMap->dwClientID);
- if (rv < 0)
- {
- rv = SCARD_F_COMM_ERROR;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
rv = scBeginStruct.rv;
}
@@ -1325,11 +1297,8 @@
currentContextMap->dwClientID,
sizeof(scEndStruct), (void *) &scEndStruct);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/*
* Read a message from the server
@@ -1337,11 +1306,8 @@
rv = MessageReceive(&scEndStruct, sizeof(scEndStruct),
currentContextMap->dwClientID);
- if (rv < 0)
- {
- rv = SCARD_F_COMM_ERROR;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/*
* This helps prevent starvation
@@ -1541,11 +1507,8 @@
rv = MessageSendWithHeader(SCARD_STATUS, currentContextMap->dwClientID,
sizeof(scStatusStruct), (void *) &scStatusStruct);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/*
* Read a message from the server
@@ -1553,11 +1516,8 @@
rv = MessageReceive(&scStatusStruct, sizeof(scStatusStruct),
currentContextMap->dwClientID);
- if (rv < 0)
- {
- rv = SCARD_F_COMM_ERROR;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
rv = scStatusStruct.rv;
@@ -2115,11 +2075,8 @@
currentContextMap->dwClientID,
sizeof(waitStatusStruct), &waitStatusStruct);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/*
* Read a message from the server
@@ -2132,36 +2089,27 @@
currentContextMap->cancellable = FALSE;
/* timeout */
- if (-2 == rv)
+ if (SCARD_E_TIMEOUT == rv)
{
/* ask server to remove us from the event list */
rv = MessageSendWithHeader(CMD_STOP_WAITING_READER_STATE_CHANGE,
currentContextMap->dwClientID,
sizeof(waitStatusStruct), &waitStatusStruct);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/* Read a message from the server */
rv = MessageReceive(&waitStatusStruct,
sizeof(waitStatusStruct),
currentContextMap->dwClientID);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
}
- if (rv < 0)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/* an event occurs or SCardCancel() was called */
if (SCARD_S_SUCCESS != waitStatusStruct.rv)
@@ -2317,21 +2265,15 @@
rv = MessageSendWithHeader(SCARD_CONTROL, currentContextMap->dwClientID,
sizeof(scControlStruct), &scControlStruct);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/* write the sent buffer */
rv = MessageSend((char *)pbSendBuffer, cbSendLength,
currentContextMap->dwClientID);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/*
* Read a message from the server
@@ -2339,11 +2281,8 @@
rv = MessageReceive(&scControlStruct, sizeof(scControlStruct),
currentContextMap->dwClientID);
- if (rv < 0)
- {
- rv = SCARD_F_COMM_ERROR;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
if (SCARD_S_SUCCESS == scControlStruct.rv)
{
@@ -2351,11 +2290,8 @@
rv = MessageReceive(pbRecvBuffer, scControlStruct.dwBytesReturned,
currentContextMap->dwClientID);
- if (rv < 0)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
}
@@ -2612,11 +2548,8 @@
rv = MessageSendWithHeader(command, currentContextMap->dwClientID,
sizeof(scGetSetStruct), &scGetSetStruct);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/*
* Read a message from the server
@@ -2624,11 +2557,8 @@
rv = MessageReceive(&scGetSetStruct, sizeof(scGetSetStruct),
currentContextMap->dwClientID);
- if (rv < 0)
- {
- rv = SCARD_F_COMM_ERROR;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
if ((SCARD_S_SUCCESS == scGetSetStruct.rv) && (SCARD_GET_ATTRIB == command))
{
@@ -2788,21 +2718,15 @@
rv = MessageSendWithHeader(SCARD_TRANSMIT, currentContextMap->dwClientID,
sizeof(scTransmitStruct), (void *) &scTransmitStruct);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/* write the sent buffer */
rv = MessageSend((void *)pbSendBuffer, cbSendLength,
currentContextMap->dwClientID);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/*
* Read a message from the server
@@ -2810,11 +2734,8 @@
rv = MessageReceive(&scTransmitStruct, sizeof(scTransmitStruct),
currentContextMap->dwClientID);
- if (rv < 0)
- {
- rv = SCARD_F_COMM_ERROR;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
if (SCARD_S_SUCCESS == scTransmitStruct.rv)
{
@@ -2822,11 +2743,8 @@
rv = MessageReceive(pbRecvBuffer, scTransmitStruct.pcbRecvLength,
currentContextMap->dwClientID);
- if (rv < 0)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
if (pioRecvPci)
{
@@ -3235,22 +3153,16 @@
rv = MessageSendWithHeader(SCARD_CANCEL, dwClientID,
sizeof(scCancelStruct), (void *) &scCancelStruct);
- if (rv == -1)
- {
- rv = SCARD_E_NO_SERVICE;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
/*
* Read a message from the server
*/
rv = MessageReceive(&scCancelStruct, sizeof(scCancelStruct), dwClientID);
- if (rv < 0)
- {
- rv = SCARD_F_COMM_ERROR;
+ if (rv != SCARD_S_SUCCESS)
goto end;
- }
rv = scCancelStruct.rv;
end:
@@ -3668,13 +3580,16 @@
static LONG getReaderStates(SCONTEXTMAP * currentContextMap)
{
int32_t dwClientID = currentContextMap->dwClientID;
-
- if (-1 == MessageSendWithHeader(CMD_GET_READERS_STATE, dwClientID, 0, NULL))
- return SCARD_E_NO_SERVICE;
+ LONG rv;
+
+ rv = MessageSendWithHeader(CMD_GET_READERS_STATE, dwClientID, 0, NULL);
+ if (rv != SCARD_S_SUCCESS)
+ return rv;
/* Read a message from the server */
- if (MessageReceive(&readerStates, sizeof(readerStates), dwClientID) < 0)
- return SCARD_F_COMM_ERROR;
+ rv = MessageReceive(&readerStates, sizeof(readerStates), dwClientID);
+ if (rv != SCARD_S_SUCCESS)
+ return rv;
return SCARD_S_SUCCESS;
}
Modified: trunk/PCSC/src/winscard_msg.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_msg.c?rev=5386&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_msg.c (original)
+++ trunk/PCSC/src/winscard_msg.c Mon Nov 8 10:00:58 2010
@@ -166,18 +166,18 @@
* @param[in] filedes Socket handle.
* @param[in] timeOut Timeout in milliseconds.
*
- * @retval 0 Success.
- * @retval -1 Timeout.
- * @retval -1 Socket is closed.
- * @retval -1 A signal was received.
- */
-INTERNAL int32_t MessageReceiveTimeout(uint32_t command, void *buffer_void,
+ * @retval SCARD_S_SUCCESS Success.
+ * @retval SCARD_E_TIMEOUT Timeout.
+ * @retval SCARD_F_COMM_ERROR Socket is closed.
+ * @retval SCARD_F_COMM_ERROR A signal was received.
+ */
+INTERNAL LONG MessageReceiveTimeout(uint32_t command, void *buffer_void,
uint64_t buffer_size, int32_t filedes, int32_t timeOut)
{
char *buffer = buffer_void;
/* default is success */
- int retval = 0;
+ int retval = SCARD_S_SUCCESS;
/* record the time when we started */
struct timeval start;
@@ -201,7 +201,7 @@
if (delta > timeOut*1000)
{
/* we already timed out */
- retval = -2;
+ retval = SCARD_E_TIMEOUT;
break;
}
@@ -224,7 +224,7 @@
if (!FD_ISSET(filedes, &read_fd))
{
/* very strange situation. it should be an assert really */
- retval = -1;
+ retval = SCARD_F_COMM_ERROR;
break;
}
readed = read(filedes, buffer, remaining);
@@ -237,7 +237,7 @@
} else if (readed == 0)
{
/* peer closed the socket */
- retval = -1;
+ retval = SCARD_F_COMM_ERROR;
break;
} else
{
@@ -245,17 +245,17 @@
* other errors are fatal */
if (errno != EINTR && errno != EAGAIN)
{
- retval = -1;
+ retval = SCARD_F_COMM_ERROR;
break;
}
}
} else if (selret == 0)
{
/* is the daemon still there? */
- if (SCardCheckDaemonAvailability() != SCARD_S_SUCCESS)
+ retval = SCardCheckDaemonAvailability();
+ if (retval != SCARD_S_SUCCESS)
{
/* timeout */
- retval = -1;
break;
}
@@ -270,7 +270,7 @@
{
Log2(PCSC_LOG_ERROR, "select returns with failure: %s",
strerror(errno));
- retval = -1;
+ retval = SCARD_F_COMM_ERROR;
break;
}
}
@@ -293,7 +293,7 @@
*
* @return Same error codes as MessageSend().
*/
-INTERNAL int32_t MessageSendWithHeader(uint32_t command, uint32_t dwClientID,
+INTERNAL LONG MessageSendWithHeader(uint32_t command, uint32_t dwClientID,
uint64_t size, void *data_void)
{
struct rxHeader header;
@@ -323,18 +323,18 @@
* @param[in] buffer_size Size of the message to send
* @param[in] filedes Socket handle.
*
- * @retval 0 Success
- * @retval -1 Timeout.
- * @retval -1 Socket is closed.
- * @retval -1 A signal was received.
- */
-INTERNAL int32_t MessageSend(void *buffer_void, uint64_t buffer_size,
+ * @retval SCARD_S_SUCCESS Success
+ * @retval SCARD_E_TIMEOUT Timeout.
+ * @retval SCARD_F_COMM_ERROR Socket is closed.
+ * @retval SCARD_F_COMM_ERROR A signal was received.
+ */
+INTERNAL LONG MessageSend(void *buffer_void, uint64_t buffer_size,
int32_t filedes)
{
char *buffer = buffer_void;
/* default is success */
- int retval = 0;
+ int retval = SCARD_S_SUCCESS;
/* how many bytes remains to be written */
size_t remaining = buffer_size;
@@ -358,7 +358,7 @@
if (!FD_ISSET(filedes, &write_fd))
{
/* very strange situation. it should be an assert really */
- retval = -1;
+ retval = SCARD_F_COMM_ERROR;
break;
}
/* since we are a user library we can't play with signals
@@ -380,7 +380,7 @@
} else if (written == 0)
{
/* peer closed the socket */
- retval = -1;
+ retval = SCARD_F_COMM_ERROR;
break;
} else
{
@@ -388,14 +388,14 @@
* other errors are fatal */
if (errno != EINTR && errno != EAGAIN)
{
- retval = -1;
+ retval = SCARD_F_COMM_ERROR;
break;
}
}
} else if (selret == 0)
{
/* timeout */
- retval = -1;
+ retval = SCARD_E_TIMEOUT;
break;
} else
{
@@ -404,7 +404,7 @@
{
Log2(PCSC_LOG_ERROR, "select returns with failure: %s",
strerror(errno));
- retval = -1;
+ retval = SCARD_F_COMM_ERROR;
break;
}
}
@@ -422,17 +422,17 @@
* @param[in] buffer_size Size to read
* @param[in] filedes Socket handle.
*
- * @retval 0 Success.
- * @retval -1 Socket is closed.
- * @retval -1 A signal was received.
- */
-INTERNAL int32_t MessageReceive(void *buffer_void, uint64_t buffer_size,
+ * @retval SCARD_S_SUCCESS Success.
+ * @retval SCARD_F_COMM_ERROR Socket is closed.
+ * @retval SCARD_F_COMM_ERROR A signal was received.
+ */
+INTERNAL LONG MessageReceive(void *buffer_void, uint64_t buffer_size,
int32_t filedes)
{
char *buffer = buffer_void;
/* default is success */
- int retval = 0;
+ int retval = SCARD_S_SUCCESS;
/* how many bytes we must read */
size_t remaining = buffer_size;
@@ -456,7 +456,7 @@
if (!FD_ISSET(filedes, &read_fd))
{
/* very strange situation. it should be an assert really */
- retval = -1;
+ retval = SCARD_F_COMM_ERROR;
break;
}
readed = read(filedes, buffer, remaining);
@@ -469,7 +469,7 @@
} else if (readed == 0)
{
/* peer closed the socket */
- retval = -1;
+ retval = SCARD_F_COMM_ERROR;
break;
} else
{
@@ -477,7 +477,7 @@
* other errors are fatal */
if (errno != EINTR && errno != EAGAIN)
{
- retval = -1;
+ retval = SCARD_F_COMM_ERROR;
break;
}
}
@@ -489,7 +489,7 @@
{
Log2(PCSC_LOG_ERROR, "select returns with failure: %s",
strerror(errno));
- retval = -1;
+ retval = SCARD_F_COMM_ERROR;
break;
}
}
Modified: trunk/PCSC/src/winscard_msg.h
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_msg.h?rev=5386&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_msg.h (original)
+++ trunk/PCSC/src/winscard_msg.h Mon Nov 8 10:00:58 2010
@@ -263,13 +263,13 @@
char *getSocketName(void);
int32_t ClientSetupSession(uint32_t *);
int32_t ClientCloseSession(uint32_t);
- int32_t MessageReceiveTimeout(uint32_t command, /*@out@*/ void *buffer,
+ LONG MessageReceiveTimeout(uint32_t command, /*@out@*/ void *buffer,
uint64_t buffer_size, int32_t filedes, int32_t timeOut);
- int32_t MessageSendWithHeader(uint32_t command, uint32_t dwClientID,
+ LONG MessageSendWithHeader(uint32_t command, uint32_t dwClientID,
uint64_t size, void *data);
#endif
- int32_t MessageSend(void *buffer, uint64_t buffer_size, int32_t filedes);
- int32_t MessageReceive(/*@out@*/ void *buffer, uint64_t buffer_size,
+ LONG MessageSend(void *buffer, uint64_t buffer_size, int32_t filedes);
+ LONG MessageReceive(/*@out@*/ void *buffer, uint64_t buffer_size,
int32_t filedes);
#ifdef __cplusplus
Modified: trunk/PCSC/src/winscard_svc.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard_svc.c?rev=5386&op=diff
==============================================================================
--- trunk/PCSC/src/winscard_svc.c (original)
+++ trunk/PCSC/src/winscard_svc.c Mon Nov 8 10:00:58 2010
@@ -279,7 +279,7 @@
#define READ_BODY(v) \
if (header.size != sizeof(v)) { goto wrong_length; } \
ret = MessageReceive(&v, sizeof(v), filedes); \
- if (ret < 0) { Log2(PCSC_LOG_DEBUG, "Client die: %d", filedes); goto exit; }
+ if (ret != SCARD_S_SUCCESS) { Log2(PCSC_LOG_DEBUG, "Client die: %d", filedes); goto exit; }
#define WRITE_BODY(v) \
WRITE_BODY_WITH_COMMAND(CommandsText[header.command], v)
@@ -300,7 +300,7 @@
struct rxHeader header;
int32_t ret = MessageReceive(&header, sizeof(header), filedes);
- if (ret < 0)
+ if (ret != SCARD_S_SUCCESS)
{
/* Clean up the dead client */
Log2(PCSC_LOG_DEBUG, "Client die: %d", filedes);
@@ -573,7 +573,7 @@
/* read sent buffer */
ret = MessageReceive(pbSendBuffer, trStr.cbSendLength, filedes);
- if (ret < 0)
+ if (ret != SCARD_S_SUCCESS)
{
Log2(PCSC_LOG_DEBUG, "Client die: %d", filedes);
goto exit;
@@ -624,7 +624,7 @@
/* read sent buffer */
ret = MessageReceive(pbSendBuffer, ctStr.cbSendLength, filedes);
- if (ret < 0)
+ if (ret != SCARD_S_SUCCESS)
{
Log2(PCSC_LOG_DEBUG, "Client die: %d", filedes);
goto exit;
@@ -698,7 +698,7 @@
}
/* MessageSend() failed */
- if (-1 == ret)
+ if (ret != SCARD_S_SUCCESS)
{
/* Clean up the dead client */
Log2(PCSC_LOG_DEBUG, "Client die: %d", filedes);
More information about the Pcsclite-cvs-commit
mailing list