sim: allow opening reader# > 0
Change-Id: I4b1abc8d8aae4bd9a32f927269d7ebfef902d7c5
diff --git a/src/sim/reader_pcsc.c b/src/sim/reader_pcsc.c
index f22103f..9e05e3c 100644
--- a/src/sim/reader_pcsc.c
+++ b/src/sim/reader_pcsc.c
@@ -79,17 +79,18 @@
rc = SCardListReaders(st->hContext, NULL, (LPSTR)&mszReaders, &dwReaders);
PCSC_ERROR(rc, "SCardListReaders");
+ /* SCARD_S_SUCCESS means there is at least one reader in the group */
num_readers = 0;
ptr = mszReaders;
- while (*ptr != '\0') {
+ while (*ptr != '\0' && num_readers != num) {
ptr += strlen(ptr)+1;
num_readers++;
}
- if (num_readers == 0)
+ if (num != num_readers)
goto end;
- st->name = talloc_strdup(rh, mszReaders);
+ st->name = talloc_strdup(rh, ptr);
st->dwActiveProtocol = -1;
return rh;