winscard: Map only the reader name in map_states_inA/W().

This commit is contained in:
Hans Leidekker 2023-06-27 10:33:19 +02:00 committed by Alexandre Julliard
parent 08a4a9803d
commit 88f4dabc27
2 changed files with 5 additions and 9 deletions

View file

@ -109,12 +109,14 @@ static void test_SCardEstablishContext(void)
memset( states, 0, sizeof(states) );
states[0].szReader = "\\\\?PnP?\\Notification";
states[1].szReader = readers;
states[1].cbAtr = sizeof(states[1].rgbAtr) + 1;
ret = SCardGetStatusChangeA( context, 1000, states, 2 );
ok( ret == SCARD_S_SUCCESS, "got %lx\n", ret );
ok( states[1].cbAtr <= sizeof(states[1].rgbAtr), "got %lu\n", states[1].cbAtr );
states[1].dwCurrentState = states[1].dwEventState & ~SCARD_STATE_CHANGED;
ret = SCardGetStatusChangeA( context, 1000, states, 2 );
todo_wine ok( ret == SCARD_S_SUCCESS, "got %lx\n", ret );
ok( ret == SCARD_S_SUCCESS, "got %lx\n", ret );
ret = SCardConnectA( context, readers, SCARD_SHARE_SHARED, SCARD_PROTOCOL_Tx, &connect, NULL );
if (ret == SCARD_E_READER_UNAVAILABLE)

View file

@ -569,14 +569,11 @@ done:
static LONG map_states_inA( const SCARD_READERSTATEA *src, struct reader_state *dst, DWORD count )
{
DWORD i;
memset( dst, 0, sizeof(*dst) * count );
for (i = 0; i < count; i++)
{
if (src[i].szReader && ansi_to_utf8( src[i].szReader, (char **)&dst[i].reader ) < 0)
return SCARD_E_NO_MEMORY;
dst[i].current_state = src[i].dwCurrentState;
dst[i].event_state = src[i].dwEventState;
dst[i].atr_size = src[i].cbAtr;
memcpy( dst[i].atr, src[i].rgbAtr, src[i].cbAtr );
}
return SCARD_S_SUCCESS;
}
@ -635,14 +632,11 @@ LONG WINAPI SCardGetStatusChangeA( SCARDCONTEXT context, DWORD timeout, SCARD_RE
static LONG map_states_inW( SCARD_READERSTATEW *src, struct reader_state *dst, DWORD count )
{
DWORD i;
memset( dst, 0, sizeof(*dst) * count );
for (i = 0; i < count; i++)
{
if (src[i].szReader && utf16_to_utf8( src[i].szReader, (char **)&dst[i].reader ) < 0)
return SCARD_E_NO_MEMORY;
dst[i].current_state = src[i].dwCurrentState;
dst[i].event_state = src[i].dwEventState;
dst[i].atr_size = src[i].cbAtr;
memcpy( dst[i].atr, src[i].rgbAtr, src[i].cbAtr );
}
return SCARD_S_SUCCESS;
}