From 59cd76905f01fbfca7f59c80a069ef525784dd75 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Mon, 14 Sep 2026 22:18:27 +0200 Subject: [PATCH] minor fix, obey --- armsrc/iso14443a.c | 7 +++++++ client/src/mifare/desfireem.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index dda812388..99d1d4763 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -2584,6 +2584,13 @@ void SimulateIso14443aTagEx(uint8_t tagType, uint16_t flags, uint8_t *useruid, u dynamic_response_info.response + prologue); if (n > 0) { dynamic_response_info.response_n = prologue + n; + + // count answered DESFire commands, so `-n` can bound a + // simulation the way it does for the other tag types + numReads++; + if (exitAfterNReads > 0 && numReads >= exitAfterNReads) { + finished = true; + } } } diff --git a/client/src/mifare/desfireem.c b/client/src/mifare/desfireem.c index 3ee1af73d..4449318bc 100644 --- a/client/src/mifare/desfireem.c +++ b/client/src/mifare/desfireem.c @@ -616,7 +616,7 @@ void desfire_em_print(const uint8_t *img, size_t imglen) { PrintAndLogEx(SUCCESS, "Tables end at.... %u", hdr->tables_end); PrintAndLogEx(SUCCESS, "Data starts at... %u", hdr->data_start); PrintAndLogEx(SUCCESS, "Card capacity.... %u bytes, %u spent", hdr->cardsize, hdr->reserved); - PrintAndLogEx(SUCCESS, "Free memory...... " _GREEN_("%u") " bytes ( what a reader sees )" + PrintAndLogEx(SUCCESS, "Free memory...... " _GREEN_("%u") " bytes" , (hdr->cardsize > hdr->reserved) ? (hdr->cardsize - hdr->reserved) : 0); PrintAndLogEx(SUCCESS, "Emulator memory.. %u of %u bytes spare" , (hdr->data_start > hdr->tables_end) ? (hdr->data_start - hdr->tables_end) : 0