NFC parsers PartialRead fixes

This commit is contained in:
Willy-JL
2024-02-06 19:50:40 +00:00
parent 7552e84ad3
commit b4b82e68ca
9 changed files with 18 additions and 18 deletions

View File

@@ -67,7 +67,7 @@ static bool aime_read(Nfc* nfc, NfcDevice* device) {
nfc_device_set_data(device, NfcProtocolMfClassic, data); nfc_device_set_data(device, NfcProtocolMfClassic, data);
is_read = mf_classic_is_card_read(data); is_read = (error == MfClassicErrorNone);
} while(false); } while(false);
mf_classic_free(data); mf_classic_free(data);

View File

@@ -67,7 +67,7 @@ static bool hid_read(Nfc* nfc, NfcDevice* device) {
nfc_device_set_data(device, NfcProtocolMfClassic, data); nfc_device_set_data(device, NfcProtocolMfClassic, data);
is_read = mf_classic_is_card_read(data); is_read = (error == MfClassicErrorNone);
} while(false); } while(false);
mf_classic_free(data); mf_classic_free(data);

View File

@@ -172,13 +172,13 @@ static bool kazan_read(Nfc* nfc, NfcDevice* device) {
} }
error = mf_classic_poller_sync_read(nfc, &keys, data); error = mf_classic_poller_sync_read(nfc, &keys, data);
if(error != MfClassicErrorNone) { if(error == MfClassicErrorNotPresent) {
FURI_LOG_W(TAG, "Failed to read data: standart keys"); FURI_LOG_W(TAG, "Failed to read data: standart keys");
break; break;
} }
if(!mf_classic_is_card_read(data)) { if(error == MfClassicErrorPartialRead) {
error = mf_classic_poller_sync_read(nfc, &keys_old, data); error = mf_classic_poller_sync_read(nfc, &keys_old, data);
if(error != MfClassicErrorNone) { if(error == MfClassicErrorNotPresent) {
FURI_LOG_W(TAG, "Failed to read data: old keys"); FURI_LOG_W(TAG, "Failed to read data: old keys");
break; break;
} }
@@ -186,7 +186,7 @@ static bool kazan_read(Nfc* nfc, NfcDevice* device) {
nfc_device_set_data(device, NfcProtocolMfClassic, data); nfc_device_set_data(device, NfcProtocolMfClassic, data);
is_read = mf_classic_is_card_read(data); is_read = (error == MfClassicErrorNone);
} while(false); } while(false);
mf_classic_free(data); mf_classic_free(data);

View File

@@ -107,14 +107,14 @@ static bool metromoney_read(Nfc* nfc, NfcDevice* device) {
} }
error = mf_classic_poller_sync_read(nfc, &keys, data); error = mf_classic_poller_sync_read(nfc, &keys, data);
if(error != MfClassicErrorNone) { if(error == MfClassicErrorNotPresent) {
FURI_LOG_W(TAG, "Failed to read data"); FURI_LOG_W(TAG, "Failed to read data");
break; break;
} }
nfc_device_set_data(device, NfcProtocolMfClassic, data); nfc_device_set_data(device, NfcProtocolMfClassic, data);
is_read = mf_classic_is_card_read(data); is_read = (error == MfClassicErrorNone);
} while(false); } while(false);
mf_classic_free(data); mf_classic_free(data);

View File

@@ -165,14 +165,14 @@ static bool microel_read(Nfc* nfc, NfcDevice* device) {
} }
error = mf_classic_poller_sync_read(nfc, &keys, data); error = mf_classic_poller_sync_read(nfc, &keys, data);
if(error != MfClassicErrorNone) { if(error == MfClassicErrorNotPresent) {
FURI_LOG_W(TAG, "Failed to read data"); FURI_LOG_W(TAG, "Failed to read data");
break; break;
} }
nfc_device_set_data(device, NfcProtocolMfClassic, data); nfc_device_set_data(device, NfcProtocolMfClassic, data);
is_read = mf_classic_is_card_read(data); is_read = (error == MfClassicErrorNone);
} while(false); } while(false);
mf_classic_free(data); mf_classic_free(data);

View File

@@ -118,14 +118,14 @@ static bool mizip_read(Nfc* nfc, NfcDevice* device) {
} }
error = mf_classic_poller_sync_read(nfc, &keys, data); error = mf_classic_poller_sync_read(nfc, &keys, data);
if(error != MfClassicErrorNone) { if(error == MfClassicErrorNotPresent) {
FURI_LOG_W(TAG, "Failed to read data"); FURI_LOG_W(TAG, "Failed to read data");
break; break;
} }
nfc_device_set_data(device, NfcProtocolMfClassic, data); nfc_device_set_data(device, NfcProtocolMfClassic, data);
is_read = mf_classic_is_card_read(data); is_read = (error == MfClassicErrorNone);
} while(false); } while(false);
mf_classic_free(data); mf_classic_free(data);

View File

@@ -137,14 +137,14 @@ static bool saflok_read(Nfc* nfc, NfcDevice* device) {
} }
error = mf_classic_poller_sync_read(nfc, &keys, data); error = mf_classic_poller_sync_read(nfc, &keys, data);
if(error != MfClassicErrorNone) { if(error == MfClassicErrorNotPresent) {
FURI_LOG_W(TAG, "Failed to read data"); FURI_LOG_W(TAG, "Failed to read data");
break; break;
} }
nfc_device_set_data(device, NfcProtocolMfClassic, data); nfc_device_set_data(device, NfcProtocolMfClassic, data);
is_read = mf_classic_is_card_read(data); is_read = (error == MfClassicErrorNone);
} while(false); } while(false);
mf_classic_free(data); mf_classic_free(data);

View File

@@ -1534,14 +1534,14 @@ static bool social_moscow_read(Nfc* nfc, NfcDevice* device) {
} }
error = mf_classic_poller_sync_read(nfc, &keys, data); error = mf_classic_poller_sync_read(nfc, &keys, data);
if(error != MfClassicErrorNone) { if(error == MfClassicErrorNotPresent) {
FURI_LOG_W(TAG, "Failed to read data"); FURI_LOG_W(TAG, "Failed to read data");
break; break;
} }
nfc_device_set_data(device, NfcProtocolMfClassic, data); nfc_device_set_data(device, NfcProtocolMfClassic, data);
is_read = mf_classic_is_card_read(data); is_read = (error == MfClassicErrorNone);
} while(false); } while(false);
mf_classic_free(data); mf_classic_free(data);

View File

@@ -108,14 +108,14 @@ static bool washcity_read(Nfc* nfc, NfcDevice* device) {
} }
error = mf_classic_poller_sync_read(nfc, &keys, data); error = mf_classic_poller_sync_read(nfc, &keys, data);
if(error != MfClassicErrorNone) { if(error == MfClassicErrorNotPresent) {
FURI_LOG_W(TAG, "Failed to read data"); FURI_LOG_W(TAG, "Failed to read data");
break; break;
} }
nfc_device_set_data(device, NfcProtocolMfClassic, data); nfc_device_set_data(device, NfcProtocolMfClassic, data);
is_read = mf_classic_is_card_read(data); is_read = (error == MfClassicErrorNone);
} while(false); } while(false);
mf_classic_free(data); mf_classic_free(data);