diff --git a/lib/nfc/protocols/mifare_classic.c b/lib/nfc/protocols/mifare_classic.c index 91ab1aed2..e879ff4ef 100644 --- a/lib/nfc/protocols/mifare_classic.c +++ b/lib/nfc/protocols/mifare_classic.c @@ -216,16 +216,11 @@ void mf_classic_get_read_sectors_and_keys( bool mf_classic_is_card_read(MfClassicData* data) { furi_assert(data); - bool card_read = false; - do { - uint8_t sectors_total = mf_classic_get_total_sectors_num(data->type); - uint8_t sectors_read = 0; - uint8_t keys_found = 0; - mf_classic_get_read_sectors_and_keys(data, §ors_read, &keys_found); - if(sectors_read != sectors_total) break; - if(keys_found != sectors_total * 2) break; - card_read = true; - } while(false); + uint8_t sectors_total = mf_classic_get_total_sectors_num(data->type); + uint8_t sectors_read = 0; + uint8_t keys_found = 0; + mf_classic_get_read_sectors_and_keys(data, §ors_read, &keys_found); + bool card_read = (sectors_read == sectors_total) && (keys_found == sectors_total * 2); return card_read; }