add missing semicolon
[librfid] / src / rfid_layer2_iso14443a.c
index 148960d..f2b3d26 100644 (file)
@@ -250,6 +250,7 @@ cascade:
 
        h->level = ISO14443A_LEVEL_NONE;
        h->state = ISO14443A_STATE_SELECTED;
+       h->sak = sak[0];
 
        if (sak[0] & 0x20) {
                DEBUGP("we have a T=CL compliant PICC\n");
@@ -323,15 +324,22 @@ iso14443a_getopt(struct rfid_layer2_handle *handle, int optname,
        int ret = -EINVAL;
        struct iso14443a_handle *h = &handle->priv.iso14443a;
        struct iso14443a_atqa *atqa = optval;
+       u_int8_t *opt_u8 = optval;
        int *wupa = optval;
 
        switch (optname) {
+       case RFID_OPT_14443A_SAK:
+               *opt_u8 = h->sak;
+               *optlen = sizeof(*opt_u8);
+               break;
        case RFID_OPT_14443A_ATQA:
                *atqa = h->atqa;
+               *optlen = sizeof(*atqa);
                ret = 0;
                break;
        case RFID_OPT_14443A_WUPA:
                *wupa = ((handle->flags & RFID_OPT_LAYER2_WUP) != 0);
+               *optlen = sizeof(*wupa);
                ret = 0;
                break;
        };
@@ -361,7 +369,7 @@ iso14443a_init(struct rfid_reader_handle *rh)
        h->priv.iso14443a.state = ISO14443A_STATE_NONE;
        h->priv.iso14443a.level = ISO14443A_LEVEL_NONE;
 
-       ret = h->rh->reader->iso14443a.init(h->rh);
+       ret = h->rh->reader->init(h->rh, RFID_LAYER2_ISO14443A);
        if (ret < 0) {
                free_layer2_handle(h);
                return NULL;