IFDCloseIFD(): give up to 500 ms to the mutex to be free if the lock
failed. Maybe a polling thread is still using the device on another
slot.
11 lines of code changed in 1 file:
StatSynchronize(): log and return if opendir() fails
Avoids a crash when started without root privileges
7 lines of code changed in 1 file:
HPAddDevice(): remove a debug printf()
0 lines of code changed in 1 file:
SCardStatus(): allow NULL for pcchReaderLen and pcbAtrLen
You can then use
SCardStatus(hCard, pcReaders, &dwReaderLen, NULL, NULL, NULL, NULL)
to only get the reader name or
SCardStatus(hCard, NULL, NULL, NULL, NULL, pbAtr, &dwAtrLen)
to only get the card ATR or even
SCardStatus(hCard, NULL, NULL, NULL, NULL, NULL, NULL)
to get nothing except SCARD_S_SUCCESS
6 lines of code changed in 1 file:
SCardStatus(), SCardGetAttrib(), SCardListReaders(),
SCardListReaderGroups(): check that the pointer argument used to store
the allocated memory in case of SCARD_AUTOALLOCATE is not NULL.
return SCARD_E_INVALID_PARAMETER instead of crashing
23 lines of code changed in 1 file:
Doxygen: reformat a line
1 lines of code changed in 1 file:
expand a tab
1 lines of code changed in 1 file:
SCardTransmit(): correctly pass the pioRecvPci parameter
Thanks to David L. Markowitz for the bug report
15 lines of code changed in 2 files:
StatSynchronize(): log with level DEBUG instead of ERROR if errno is
ENXIO "No such device or address" since it is a normal error if the
client is no more listening the pipe
4 lines of code changed in 1 file:
SCardGetStatusChange(): move "Event Loop End" log after the end label so
the log is displayed
2 lines of code changed in 1 file:
WaitForPcscdEvent(): remove the waiting for event file after use
1 lines of code changed in 1 file:
HPAddDevice(): the device serial is "usb.serial" instead of
"usb_device.serial" and it is a C-string instead of an int
7 lines of code changed in 1 file:
Doxygen: move SCardSetTimeout (back) in the API group so the detailed
documentation does not appear in the winscard.h page
4 lines of code changed in 1 file:
Doxygen: document SCARD_IO_REQUEST structure
3 lines of code changed in 1 file:
remove useless struct _SCARD_IO_REQUEST name
1 lines of code changed in 1 file:
Doxygen: SCardTransmit() can use SCARD_PCI_RAW for pioSendPci
2 lines of code changed in 1 file:
Doxygen: document g_rgSCard*Pci values
3 lines of code changed in 1 file:
move WaitForPcscdEvent() before doxygen doc of SCardGetStatusChange()
44 lines of code changed in 1 file: