static int32_t reader_get_cardsystem(struct s_reader *reader, ATR *atr) { int32_t i; for(i = 0; cardsystems[i]; i++) { NULLFREE(reader->csystem_data); const struct s_cardsystem *csystem = cardsystems[i]; if(csystem->card_init(reader, atr)) { rdr_log(reader, "found card system %s", csystem->desc); reader->csystem = csystem; reader->csystem_active = true; led_status_found_cardsystem(); break; } else { // On error free allocated card system data if any if(csystem->card_done) csystem->card_done(reader); NULLFREE(reader->csystem_data); } } if(!reader->csystem_active) { rdr_log(reader, "card system not supported"); led_status_unsupported_card_system(); } return (reader->csystem_active); }
static int32_t reader_get_cardsystem(struct s_reader * reader, ATR *atr) { int32_t i; for (i=0; i<CS_MAX_MOD; i++) { if (cardsystems[i].card_init) { NULLFREE(reader->csystem_data); if (cardsystems[i].card_init(reader, atr)) { rdr_log(reader, "found card system %s", cardsystems[i].desc); reader->csystem=cardsystems[i]; reader->csystem.active=1; led_status_found_cardsystem(); break; } else { // On error free allocated card system data if any NULLFREE(reader->csystem_data); } } } if (reader->csystem.active==0) { rdr_log(reader, "card system not supported"); led_status_unsupported_card_system(); } return(reader->csystem.active); }
static int32_t reader_get_cardsystem(struct s_reader * reader, ATR *atr) { int32_t i; for (i=0; i<CS_MAX_MOD; i++) { if (cardsystem[i].card_init) { if (cardsystem[i].card_init(reader, atr)) { rdr_log(reader, "found cardsystem %s", cardsystem[i].desc); reader->csystem=cardsystem[i]; reader->csystem.active=1; led_status_found_cardsystem(); break; } } } if (reader->csystem.active==0) { rdr_log(reader, "card system not supported"); led_status_unsupported_card_system(); } return(reader->csystem.active); }