From 71b8bfac300af34d1007329596566ee8d65d9817 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marc-Andr=C3=A9=20Moreau?= Date: Mon, 10 Nov 2014 11:31:28 -0500 Subject: [PATCH] libwinpr-smartcard: fix PCSC structure padding that was recently broken --- winpr/libwinpr/smartcard/smartcard_pcsc.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/winpr/libwinpr/smartcard/smartcard_pcsc.h b/winpr/libwinpr/smartcard/smartcard_pcsc.h index 7c83e2a..a25dd64 100644 --- a/winpr/libwinpr/smartcard/smartcard_pcsc.h +++ b/winpr/libwinpr/smartcard/smartcard_pcsc.h @@ -78,7 +78,14 @@ typedef long PCSC_LONG; #define PCSC_SCARD_CTL_CODE(code) (0x42000000 + (code)) #define PCSC_CM_IOCTL_GET_FEATURE_REQUEST SCARD_CTL_CODE(3400) +/** + * pcsc-lite defines SCARD_READERSTATE, SCARD_IO_REQUEST as packed + * on Mac OS X only and uses default packing everywhere else. + */ + +#ifdef __APPLE__ #pragma pack(push, 1) +#endif typedef struct { @@ -97,6 +104,12 @@ typedef struct PCSC_DWORD cbPciLength; } PCSC_SCARD_IO_REQUEST; +#ifdef __APPLE__ +#pragma pack(pop) +#endif + +#pragma pack(push, 1) + typedef struct { BYTE tag; -- 2.7.4