diff --git a/client/src/cmdhf14b.c b/client/src/cmdhf14b.c index d0083fbb5..77378fda2 100644 --- a/client/src/cmdhf14b.c +++ b/client/src/cmdhf14b.c @@ -2229,33 +2229,34 @@ int infoHF14B(bool verbose, bool do_aid_search) { // get and print general info about all known 14b chips int readHF14B(bool loop, bool verbose) { + bool found = false; do { // try std 14b (atqb) - if (HF14B_std_reader(verbose)) - if (loop) - continue; + found = HF14B_std_reader(verbose); + if (found && loop) + continue; // try ST Microelectronics 14b - if (HF14B_st_reader(verbose)) - if (loop) - continue; + found = HF14B_st_reader(verbose); + if (found && loop) + continue; // try ASK CT 14b - if (HF14B_ask_ct_reader(verbose)) - if (loop) - continue; + found = HF14B_ask_ct_reader(verbose); + if (found && loop) + continue; // try unknown 14b read commands (to be identified later) // could be read of calypso, CEPAS, moneo, or pico pass. - if (HF14B_other_reader(verbose)) - if (loop) - continue; - + found = HF14B_other_reader(verbose); + if (found && loop) + continue; } while (loop && kbd_enter_pressed() == false); - if (verbose) { + + if (verbose && found == false) { PrintAndLogEx(FAILED, "no ISO 14443-B tag found"); } - return PM3_EOPABORTED; + return (found) ? PM3_SUCCESS : PM3_EOPABORTED; }