mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2026-08-22 01:39:45 +00:00
* NFC: drop the unreachable EMV render island nfc_render_emv_data() called nfc_render_emv_name(), which is declared in emv_render.h and defined nowhere in the tree. It only escaped being a link error because nfc_render_emv_data() has no callers itself, so --gc-sections dropped the whole island before the linker had to resolve it. Wiring it into any render path would have given nfc_emv.fal an unresolved import, and the import check does not run for plugins, so it would have shipped as a plugin that silently never loads - which is exactly how the EMV plugin was broken until #1073. The functionality is not lost: plugins/supported_cards/emv.c already renders the application label or name, the PAN with the same F-padding trim, and the cardholder name, and that is the path that actually runs. Fixes #1084 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * NFC: drop the unused iso14443_4a render include from emv_render emv_render.c includes ../iso14443_4a/iso14443_4a_render.h, which declares only nfc_render_iso14443_4a_info/_brief/_extra - none of which this file calls. NfcProtocolFormatType, the one type it might have been there for, arrives via emv_render.h instead. Pre-existing and unrelated to the undefined function above; folded in because it is the same file and the same kind of leftover. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * NFC: remove declarations of things that are defined nowhere Same class as the EMV render fix, found by sweeping every header under applications/main/nfc and lib/nfc for prototypes with no definition. nfc_make_app_folder is the dangerous one: a singular typo of nfc_make_app_folders, sitting in the extern "C" block of nfc_app_i.h, which every protocol plugin includes. It is one character away from a real function and is not in the app API table, so a plugin calling it would compile clean, link clean, and ship as a .fal that never loads. The real function has one caller in its own file, so it is now static rather than an undeclared global. nfc_task is a relic - the entry point has been nfc_app() for a long time. auth1/2/3_backdoor_key were superseded by mf_classic_backdoor_keys[] and have been referenced by nothing since. Those three are firmware core, so a stray reference would be a hard link error rather than a silent plugin failure - listed here for completeness, not danger. No functional change: none of the five had a caller, and API version stays at 88.4. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>