From dff24f45bc21b3bf52a9d278933b457d83943de7 Mon Sep 17 00:00:00 2001 From: Frank Morgner Date: Wed, 29 May 2013 22:16:39 +0200 Subject: [PATCH] using nfc_context for nfc_init and nfc_exit See libnfc 1227e7d2644b1efc764e4df6748703d6e47dced0 --- pcsc-relay/src/lnfc.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pcsc-relay/src/lnfc.c b/pcsc-relay/src/lnfc.c index ae364c2..cf76215 100644 --- a/pcsc-relay/src/lnfc.c +++ b/pcsc-relay/src/lnfc.c @@ -27,6 +27,7 @@ struct lnfc_data { uint8_t abtCapdu[4+1+0xff+1]; int iCapduLen; nfc_device *pndTarget; + nfc_context *context; }; @@ -135,7 +136,13 @@ static int lnfc_connect(driver_data_t **driver_data) *driver_data = data; - data->pndTarget = nfc_open(NULL, NULL); + nfc_init(&data->context); + if (data->context == NULL) { + RELAY_ERROR("Error initializing libnfc\n"); + return 0; + } + + data->pndTarget = nfc_open(data->context, NULL); if (data->pndTarget == NULL) { RELAY_ERROR("Error connecting to NFC emulator device\n"); return 0; @@ -163,6 +170,7 @@ static int lnfc_disconnect(driver_data_t *driver_data) if (data) { nfc_close(data->pndTarget); + nfc_exit(data->context); free(data); }