From 982fd425a383c47237aaae085292bb9fecc2629c Mon Sep 17 00:00:00 2001 From: Henrik Andersson Date: Mon, 12 Aug 2013 09:52:08 +0000 Subject: [PATCH] Fixes a issue with 64bit portability. Fix for bug #366 git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1729 423420c4-83ab-492f-b58f-81f9feb106b5 --- scard.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scard.c b/scard.c index 089fceb..42bd246 100644 --- a/scard.c +++ b/scard.c @@ -2,8 +2,8 @@ rdesktop: A Remote Desktop Protocol client. Smart Card support Copyright (C) Alexi Volkov 2006 - Copyright 2010 Pierre Ossman for Cendio AB - Copyright 2011 Henrik Andersson for Cendio AB + Copyright 2010-2013 Pierre Ossman for Cendio AB + Copyright 2011-2013 Henrik Andersson for Cendio AB This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1109,6 +1109,7 @@ TS_SCardGetStatusChange(STREAM in, STREAM out, RD_BOOL wide) MYPCSC_SCARDCONTEXT myHContext; SERVER_DWORD dwTimeout; SERVER_DWORD dwCount; + SERVER_DWORD dwPointerId; SERVER_LPSCARD_READERSTATE_A rsArray, cur; MYPCSC_LPSCARD_READERSTATE_A myRsArray; long i; @@ -1133,7 +1134,8 @@ TS_SCardGetStatusChange(STREAM in, STREAM out, RD_BOOL wide) memset(rsArray, 0, dwCount * sizeof(SERVER_SCARD_READERSTATE_A)); for (i = 0, cur = rsArray; i < dwCount; i++, cur++) { - in_uint32_le(in, cur->szReader); + in_uint32_le(in, dwPointerId); + cur->szReader = (char *)(intptr_t)dwPointerId; in_uint32_le(in, cur->dwCurrentState); in_uint32_le(in, cur->dwEventState); in_uint32_le(in, cur->cbAtr);