Fix nfc_initiator_mifare_cmd() in examples.

In r509, a direct call to pn53x_transceive() was changed into a call to nfc_initiator_transceive_dep_bytes() which is part of the public API. The command to send was updated accordingly, but the code that extracts the response have not.

Update issue 98
This should fix the problem: because the response was not the expected length, the actual card data was not copied to the buffer, so it was always the same 16 uninitialized bytes that where returned for any block.

PR:		Issue 98
Submitted by:	zamby.ing
Pointy hat to:  me
This commit is contained in:
Romain Tartiere 2010-08-13 19:53:13 +00:00
parent fab08a3951
commit 655fdb569a

View file

@ -69,7 +69,7 @@ bool nfc_initiator_mifare_cmd(const nfc_device_t* pnd, const mifare_cmd mc, cons
if (!nfc_initiator_transceive_dep_bytes(pnd,abtCmd,2+szParamLen,abtRx,&szRxLen)) return false;
// When we have executed a read command, copy the received bytes into the param
if (mc == MC_READ && szRxLen == 17) memcpy(pmp->mpd.abtData,abtRx+1,16);
if (mc == MC_READ && szRxLen == 16) memcpy(pmp->mpd.abtData,abtRx,16);
// Command succesfully executed
return true;