[Pcsclite-cvs-commit] r7038 - trunk/Drivers/ccid/src
ludovic.rousseau at free.fr
ludovic.rousseau at free.fr
Sun Nov 9 20:27:05 UTC 2014
Author: rousseau
Date: 2014-11-09 20:27:05 +0000 (Sun, 09 Nov 2014)
New Revision: 7038
Modified:
trunk/Drivers/ccid/src/ccid.c
trunk/Drivers/ccid/src/ccid.h
trunk/Drivers/ccid/src/commands.c
Log:
Add log_level parameter in ccid_error()
Some CCID errors are not always unexpected. This patch allows to change
the log level from PCSC_LOG_ERROR to something else.
See alioth bug [#314871] "commands.c:979:CmdEscape error on byte 10"
message
https://alioth.debian.org/tracker/index.php?func=detail&aid=314871&group_id=30105&atid=410086
Modified: trunk/Drivers/ccid/src/ccid.c
===================================================================
--- trunk/Drivers/ccid/src/ccid.c 2014-11-07 12:19:05 UTC (rev 7037)
+++ trunk/Drivers/ccid/src/ccid.c 2014-11-09 20:27:05 UTC (rev 7038)
@@ -511,7 +511,8 @@
* ccid_error
*
****************************************************************************/
-void ccid_error(int error, const char *file, int line, const char *function)
+void ccid_error(int log_level, int error, const char *file, int line,
+ const char *function)
{
#ifndef NO_LOG
const char *text;
@@ -630,7 +631,7 @@
text = var_text;
break;
}
- log_msg(PCSC_LOG_ERROR, "%s:%d:%s %s", file, line, function, text);
+ log_msg(log_level, "%s:%d:%s %s", file, line, function, text);
#endif
} /* ccid_error */
Modified: trunk/Drivers/ccid/src/ccid.h
===================================================================
--- trunk/Drivers/ccid/src/ccid.h 2014-11-07 12:19:05 UTC (rev 7037)
+++ trunk/Drivers/ccid/src/ccid.h 2014-11-09 20:27:05 UTC (rev 7038)
@@ -244,7 +244,8 @@
int ccid_open_hack_pre(unsigned int reader_index);
int ccid_open_hack_post(unsigned int reader_index);
-void ccid_error(int error, const char *file, int line, const char *function);
+void ccid_error(int log_level, int error, const char *file, int line,
+ const char *function);
_ccid_descriptor *get_ccid_descriptor(unsigned int reader_index);
/* convert a 4 byte integer in USB format into an int */
Modified: trunk/Drivers/ccid/src/commands.c
===================================================================
--- trunk/Drivers/ccid/src/commands.c 2014-11-07 12:19:05 UTC (rev 7037)
+++ trunk/Drivers/ccid/src/commands.c 2014-11-09 20:27:05 UTC (rev 7038)
@@ -178,7 +178,7 @@
/* Status Information? */
if (0x40 == tmp[0])
- ccid_error(tmp[2], __FILE__, __LINE__, __FUNCTION__);
+ ccid_error(PCSC_LOG_ERROR, tmp[2], __FILE__, __LINE__, __FUNCTION__);
return IFD_COMMUNICATION_ERROR;
}
@@ -245,7 +245,7 @@
if (buffer[STATUS_OFFSET] & CCID_COMMAND_FAILED)
{
- ccid_error(buffer[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
+ ccid_error(PCSC_LOG_ERROR, buffer[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
if (0xBB == buffer[ERROR_OFFSET] && /* Protocol error in EMV mode */
((GEMPC433 == ccid_descriptor->readerID)
@@ -976,7 +976,7 @@
if (cmd_out[STATUS_OFFSET] & CCID_COMMAND_FAILED)
{
- ccid_error(cmd_out[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
+ ccid_error(PCSC_LOG_ERROR, cmd_out[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
return_value = IFD_COMMUNICATION_ERROR;
}
@@ -1078,7 +1078,7 @@
if (cmd[STATUS_OFFSET] & CCID_COMMAND_FAILED)
{
- ccid_error(cmd[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
+ ccid_error(PCSC_LOG_ERROR, cmd[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
return_value = IFD_COMMUNICATION_ERROR;
}
@@ -1199,7 +1199,7 @@
&& (buffer[ERROR_OFFSET] != 0xFE))
{
return_value = IFD_COMMUNICATION_ERROR;
- ccid_error(buffer[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
+ ccid_error(PCSC_LOG_ERROR, buffer[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
}
return return_value;
@@ -1428,7 +1428,7 @@
case 0x40:
/* Status Information */
- ccid_error(rx_buffer[2], __FILE__, __LINE__, __FUNCTION__);
+ ccid_error(PCSC_LOG_ERROR, rx_buffer[2], __FILE__, __LINE__, __FUNCTION__);
return IFD_COMMUNICATION_ERROR;
case 0x80:
@@ -1487,7 +1487,7 @@
if (cmd[STATUS_OFFSET] & CCID_COMMAND_FAILED)
{
- ccid_error(cmd[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
+ ccid_error(PCSC_LOG_ERROR, cmd[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
switch (cmd[ERROR_OFFSET])
{
case 0xEF: /* cancel */
@@ -2243,7 +2243,7 @@
if (cmd[STATUS_OFFSET] & CCID_COMMAND_FAILED)
{
- ccid_error(cmd[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
+ ccid_error(PCSC_LOG_ERROR, cmd[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */
if (0x00 == cmd[ERROR_OFFSET]) /* command not supported */
return IFD_NOT_SUPPORTED;
else
More information about the Pcsclite-cvs-commit
mailing list