Hello,

Here is the fix for xcard and pcsc-lite.  The problem has to do with the
naming mechanism of using the trailing 0 0 to denote reader and slot.
XCard was directly reading the /etc/reader.conf instead of calling
SCardListReaders - I don't know why.

Take the function setup_reader_names() in xcard.c and comment out everything.

To do the quick bad hack

strcpy( XcardReader, "Schlumberger Reflex 62 0 0" )

or whatever it shows up as using testrpc.

That should fix it easily.


A correct fix would do something like the following:


DWORD dwReaders;
LPSTR mszReaders;

mszReaders = 0;
dwReaders  = 0;

SCardListReaders(hContext, 0, mszReaders, &dwReaders);
mszReaders = (LPSTR)malloc(sizeof(char)*dwReaders);
SCardListReaders(hContext, 0, mszReaders, &dwReaders);

strcpy( XcardReader, mszReaders );

This would take the first reader from pcsc and set it to the default.
Since mszReaders is a multistring there will be a null so strcpy will only
read the first reader.

Hope this helps,
Dave


David Corcoran                                  Purdue University
1008 Cherry Lane
West Lafayette, IN 47906
[EMAIL PROTECTED]
765 - 532 - 6006                                http://www.linuxnet.com


***************************************************************
Linux Smart Card Developers - M.U.S.C.L.E.
(Movement for the Use of Smart Cards in a Linux Environment)
http://www.linuxnet.com/smartcard/index.html
***************************************************************

Reply via email to