[Pcsclite-cvs-commit] r6378 - /trunk/PCSC/src/winscard.c
rousseau at users.alioth.debian.org
rousseau at users.alioth.debian.org
Fri Jun 29 11:56:28 UTC 2012
Author: rousseau
Date: Fri Jun 29 11:56:28 2012
New Revision: 6378
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=6378
Log:
SCardTransmit(): use an exit block
goto exit; instead of a direct return rv;
This will allow to factorize exit code.
Modified:
trunk/PCSC/src/winscard.c
Modified: trunk/PCSC/src/winscard.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/winscard.c?rev=6378&op=diff
==============================================================================
--- trunk/PCSC/src/winscard.c (original)
+++ trunk/PCSC/src/winscard.c Fri Jun 29 11:56:28 2012
@@ -1486,21 +1486,21 @@
*/
rv = RFCheckSharing(hCard, rContext);
if (rv != SCARD_S_SUCCESS)
- return rv;
+ goto exit;
/*
* Make sure the reader is working properly
*/
rv = RFCheckReaderStatus(rContext);
if (rv != SCARD_S_SUCCESS)
- return rv;
+ goto exit;
/*
* Make sure some event has not occurred
*/
rv = RFCheckReaderEventState(rContext, hCard);
if (rv != SCARD_S_SUCCESS)
- return rv;
+ goto exit;
/*
* Check for some common errors
@@ -1509,7 +1509,8 @@
{
if (rContext->readerState->readerState & SCARD_ABSENT)
{
- return SCARD_E_NO_SMARTCARD;
+ rv = SCARD_E_NO_SMARTCARD;
+ goto exit;
}
}
@@ -1519,7 +1520,8 @@
{
if (pioSendPci->dwProtocol != rContext->readerState->cardProtocol)
{
- return SCARD_E_PROTO_MISMATCH;
+ rv = SCARD_E_PROTO_MISMATCH;
+ goto exit;
}
}
}
@@ -1584,7 +1586,7 @@
{
*pcbRecvLength = 0;
Log2(PCSC_LOG_ERROR, "Card not transacted: 0x%08lX", rv);
- return rv;
+ goto exit;
}
/*
@@ -1593,13 +1595,16 @@
if (tempRxLength < dwRxLength)
{
*pcbRecvLength = 0;
- return SCARD_E_INSUFFICIENT_BUFFER;
+ rv = SCARD_E_INSUFFICIENT_BUFFER;
+ goto exit;
}
/*
* Successful return
*/
*pcbRecvLength = dwRxLength;
- return SCARD_S_SUCCESS;
+
+exit:
+ return rv;
}
More information about the Pcsclite-cvs-commit
mailing list