Changed listener callback arguments and return.

This commit is contained in:
Armin Novak
2015-04-21 15:57:25 +02:00
parent 90fa0e3fc6
commit 65a4c6e1fc
4 changed files with 10 additions and 14 deletions

View File

@@ -34,7 +34,7 @@ extern "C" {
typedef BOOL (*psListenerOpen)(freerdp_listener* instance, const char* bind_address, UINT16 port);
typedef BOOL (*psListenerOpenLocal)(freerdp_listener* instance, const char* path);
typedef BOOL (*psListenerGetFileDescriptor)(freerdp_listener* instance, void** rfds, int* rcount);
typedef int (*psListenerGetEventHandles)(freerdp_listener* instance, HANDLE* events, DWORD* nCount);
typedef DWORD (*psListenerGetEventHandles)(freerdp_listener* instance, HANDLE* events, DWORD nCount);
typedef BOOL (*psListenerCheckFileDescriptor)(freerdp_listener* instance);
typedef void (*psListenerClose)(freerdp_listener* instance);
typedef void (*psPeerAccepted)(freerdp_listener* instance, freerdp_peer* client);

View File

@@ -255,25 +255,23 @@ static BOOL freerdp_listener_get_fds(freerdp_listener* instance, void** rfds, in
return TRUE;
}
int freerdp_listener_get_event_handles(freerdp_listener* instance, HANDLE* events, DWORD* nCount)
DWORD freerdp_listener_get_event_handles(freerdp_listener* instance, HANDLE* events, DWORD nCount)
{
int index;
DWORD count = *nCount;
rdpListener* listener = (rdpListener*) instance->listener;
if (listener->num_sockfds < 1)
return -1;
return 0;
if (listener->num_sockfds > count)
return -1;
if (listener->num_sockfds > nCount)
return 0;
for (index = 0; index < listener->num_sockfds; index++)
{
events[index] = listener->events[index];
}
*nCount = listener->num_sockfds;
return 0;
return listener->num_sockfds;
}
static BOOL freerdp_listener_check_fds(freerdp_listener* instance)

View File

@@ -744,9 +744,8 @@ static void test_server_mainloop(freerdp_listener* instance)
while (1)
{
count = 32;
if (instance->GetEventHandles(instance, handles, &count))
count = instance->GetEventHandles(instance, handles, 32);
if (0 == count)
{
WLog_ERR(TAG, "Failed to get FreeRDP event handles");
break;

View File

@@ -313,9 +313,8 @@ void* shadow_server_thread(rdpShadowServer* server)
while (1)
{
nCount = 32;
if (listener->GetEventHandles(listener, events, &nCount) < 0)
nCount = listener->GetEventHandles(listener, events, 32);
if (0 == nCount)
{
WLog_ERR(TAG, "Failed to get FreeRDP file descriptor");
break;