fixed getstatuschangeA rdp-return value in case of failure
authorerbth <t.erbesdobler@team103.com>
Wed, 11 Jun 2014 19:45:53 +0000 (21:45 +0200)
committererbth <t.erbesdobler@team103.com>
Wed, 11 Jun 2014 19:45:53 +0000 (21:45 +0200)
channels/smartcard/client/smartcard_operations.c

index 47f77c4..13ded0b 100644 (file)
@@ -388,8 +388,9 @@ static UINT32 smartcard_GetStatusChangeA_Call(SMARTCARD_DEVICE* smartcard, SMART
 
        status = ret.ReturnCode = SCardGetStatusChangeA(operation->hContext, call->dwTimeOut, call->rgReaderStates, call->cReaders);
 
-       if (status && (status != SCARD_E_TIMEOUT) && (status != SCARD_E_CANCELLED))
-               return status;
+       if (status && (status != SCARD_E_TIMEOUT) && (status != SCARD_E_CANCELLED)){
+               call->cReaders=0;
+       }
 
        ret.cReaders = call->cReaders;
        ret.rgReaderStates = (ReaderState_Return*) calloc(ret.cReaders, sizeof(ReaderState_Return));