Rework error reporting infrastructure.
This commit is contained in:
parent
b932c923d5
commit
d9b2deebe2
4 changed files with 14 additions and 7 deletions
|
|
@ -214,10 +214,17 @@ const char *
|
|||
freefare_strerror (MifareTag tag)
|
||||
{
|
||||
const char *p = "Unkown error";
|
||||
if (tag->device->iLastError > 0)
|
||||
if (tag->device->iLastError > 0) {
|
||||
p = nfc_strerror (tag->device);
|
||||
else if (tag->tag_info->type == DESFIRE)
|
||||
p = mifare_desfire_error_lookup (MIFARE_DESFIRE (tag)->last_picc_error);
|
||||
} else {
|
||||
if (tag->tag_info->type == DESFIRE) {
|
||||
if (MIFARE_DESFIRE (tag)->last_pcd_error) {
|
||||
p = mifare_desfire_error_lookup (MIFARE_DESFIRE (tag)->last_pcd_error);
|
||||
} else if (MIFARE_DESFIRE (tag)->last_picc_error) {
|
||||
p = mifare_desfire_error_lookup (MIFARE_DESFIRE (tag)->last_picc_error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return p;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -183,7 +183,7 @@ struct mifare_desfire_tag {
|
|||
struct mifare_tag __tag;
|
||||
|
||||
uint8_t last_picc_error;
|
||||
char *last_pcd_error;
|
||||
uint8_t last_pcd_error;
|
||||
MifareDESFireKey session_key;
|
||||
uint8_t authenticated_key_no;
|
||||
uint8_t ivect[MAX_CRYPTO_BLOCK_SIZE];
|
||||
|
|
|
|||
|
|
@ -243,7 +243,7 @@ mifare_desfire_tag_new (void)
|
|||
MifareTag tag;
|
||||
if ((tag= malloc (sizeof (struct mifare_desfire_tag)))) {
|
||||
MIFARE_DESFIRE (tag)->last_picc_error = OPERATION_OK;
|
||||
MIFARE_DESFIRE (tag)->last_pcd_error = NULL;
|
||||
MIFARE_DESFIRE (tag)->last_pcd_error = OPERATION_OK;
|
||||
MIFARE_DESFIRE (tag)->session_key = NULL;
|
||||
MIFARE_DESFIRE (tag)->crypto_buffer = NULL;
|
||||
MIFARE_DESFIRE (tag)->crypto_buffer_size = 0;
|
||||
|
|
@ -258,7 +258,6 @@ void
|
|||
mifare_desfire_tag_free (MifareTag tag)
|
||||
{
|
||||
free (MIFARE_DESFIRE (tag)->session_key);
|
||||
free (MIFARE_DESFIRE (tag)->last_pcd_error);
|
||||
free (MIFARE_DESFIRE (tag)->crypto_buffer);
|
||||
free (tag);
|
||||
}
|
||||
|
|
@ -291,7 +290,7 @@ mifare_desfire_connect (MifareTag tag)
|
|||
free (MIFARE_DESFIRE (tag)->session_key);
|
||||
MIFARE_DESFIRE (tag)->session_key = NULL;
|
||||
MIFARE_DESFIRE (tag)->last_picc_error = OPERATION_OK;
|
||||
MIFARE_DESFIRE (tag)->last_pcd_error = NULL;
|
||||
MIFARE_DESFIRE (tag)->last_pcd_error = OPERATION_OK;
|
||||
MIFARE_DESFIRE (tag)->authenticated_key_no = NOT_YET_AUTHENTICATED;
|
||||
MIFARE_DESFIRE (tag)->block_number = 0;
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue