=== src/libopensc/card-muscle.c
==================================================================
|
|
|
|
| 68 | 68 | sc_ctx_suppress_errors_on(card->ctx); |
| 69 | 69 | i = msc_select_applet(card, muscleAppletId, 5); |
| 70 | 70 | sc_ctx_suppress_errors_off(card->ctx); |
| | 71 | /* Mark the card for muscle_init */ |
| | 72 | card->drv_data = (void*)0xFFFFFFFF; |
| 71 | 73 | return i; |
| 72 | 74 | } |
| 73 | 75 | |
| … |
… |
|
| 430 | 432 | { |
| 431 | 433 | int r = 0; |
| 432 | 434 | muscle_private_t *priv; |
| | 435 | |
| | 436 | /* drv_data is set to (void*)0xFFFFFFFF in muscle_detect, |
| | 437 | * If drv_data doesn't equal that, then we need to detect... */ |
| | 438 | if(card->drv_data != (void*)0xFFFFFFFF) { |
| | 439 | card->drv_data = NULL; |
| | 440 | if(!muscle_match_card(card)) |
| | 441 | return SC_ERROR_INVALID_CARD; |
| | 442 | } |
| 433 | 443 | |
| 434 | 444 | r = sc_get_default_driver()->ops->init(card); |
| 435 | 445 | if(r) return r; |