mirror of
https://github.com/FreeRDP/FreeRDP.git
synced 2025-06-03 00:00:20 +00:00
fix vs2010 errors
This commit is contained in:
parent
52e4baa949
commit
72952c679f
@ -29,7 +29,7 @@ static PF_FILTER_RESULT demo_filter_keyboard_event(connectionInfo* info, void* p
|
|||||||
|
|
||||||
static PF_FILTER_RESULT demo_filter_mouse_event(connectionInfo* info, void* param)
|
static PF_FILTER_RESULT demo_filter_mouse_event(connectionInfo* info, void* param)
|
||||||
{
|
{
|
||||||
proxyMouseEventInfo* event_data = (proxyMouseEventInfo*) param;
|
proxyMouseEventInfo* event_data = (proxyMouseEventInfo*) param;
|
||||||
|
|
||||||
if (event_data->x % 100 == 0)
|
if (event_data->x % 100 == 0)
|
||||||
{
|
{
|
||||||
|
@ -35,6 +35,9 @@
|
|||||||
wArrayList* parse_string_array_from_str(const char* str)
|
wArrayList* parse_string_array_from_str(const char* str)
|
||||||
{
|
{
|
||||||
wArrayList* list = ArrayList_New(FALSE);
|
wArrayList* list = ArrayList_New(FALSE);
|
||||||
|
char* s;
|
||||||
|
char* temp;
|
||||||
|
char* token;
|
||||||
|
|
||||||
if (list == NULL)
|
if (list == NULL)
|
||||||
{
|
{
|
||||||
@ -42,9 +45,13 @@ wArrayList* parse_string_array_from_str(const char* str)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
char* s = _strdup(str);
|
|
||||||
char* temp = s;
|
temp = s = _strdup(str);
|
||||||
char* token;
|
if (!s)
|
||||||
|
{
|
||||||
|
WLog_ERR(TAG, "parse_string_array_from_str(): strdup failed!");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (s == NULL)
|
if (s == NULL)
|
||||||
{
|
{
|
||||||
@ -115,6 +122,7 @@ DWORD pf_server_load_config(const char* path, proxyConfig* config)
|
|||||||
char** filters_names;
|
char** filters_names;
|
||||||
int rc;
|
int rc;
|
||||||
int filters_count = 0;
|
int filters_count = 0;
|
||||||
|
UINT32 index;
|
||||||
DWORD result = CONFIG_PARSE_ERROR;
|
DWORD result = CONFIG_PARSE_ERROR;
|
||||||
wIniFile* ini = IniFile_New();
|
wIniFile* ini = IniFile_New();
|
||||||
|
|
||||||
@ -182,9 +190,9 @@ DWORD pf_server_load_config(const char* path, proxyConfig* config)
|
|||||||
|
|
||||||
filters_names = IniFile_GetSectionKeyNames(ini, "Filters", &filters_count);
|
filters_names = IniFile_GetSectionKeyNames(ini, "Filters", &filters_count);
|
||||||
|
|
||||||
for (int i = 0; i < filters_count; i++)
|
for (index = 0; index < filters_count; index++)
|
||||||
{
|
{
|
||||||
char* filter_name = filters_names[i];
|
char* filter_name = filters_names[index];
|
||||||
const char* path = IniFile_GetKeyValueString(ini, "Filters", filter_name);
|
const char* path = IniFile_GetKeyValueString(ini, "Filters", filter_name);
|
||||||
|
|
||||||
if (!pf_filters_register_new(config->Filters, path, filter_name))
|
if (!pf_filters_register_new(config->Filters, path, filter_name))
|
||||||
|
@ -122,7 +122,9 @@ PF_FILTER_RESULT pf_filters_run_by_type(filters_list* list, PF_FILTER_TYPE type,
|
|||||||
static void pf_filters_filter_free(proxyFilter* filter)
|
static void pf_filters_filter_free(proxyFilter* filter)
|
||||||
{
|
{
|
||||||
assert(filter != NULL);
|
assert(filter != NULL);
|
||||||
FreeLibrary(filter->handle);
|
if (filter->handle)
|
||||||
|
FreeLibrary(filter->handle);
|
||||||
|
|
||||||
free(filter->name);
|
free(filter->name);
|
||||||
free(filter->events);
|
free(filter->events);
|
||||||
free(filter);
|
free(filter);
|
||||||
@ -130,11 +132,13 @@ static void pf_filters_filter_free(proxyFilter* filter)
|
|||||||
|
|
||||||
void pf_filters_unregister_all(filters_list* list)
|
void pf_filters_unregister_all(filters_list* list)
|
||||||
{
|
{
|
||||||
|
size_t count;
|
||||||
|
size_t index;
|
||||||
|
|
||||||
if (list == NULL)
|
if (list == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const size_t count = (size_t) ArrayList_Count(list);
|
count = (size_t) ArrayList_Count(list);
|
||||||
size_t index;
|
|
||||||
|
|
||||||
for (index = 0; index < count; index++)
|
for (index = 0; index < count; index++)
|
||||||
{
|
{
|
||||||
@ -159,7 +163,7 @@ BOOL pf_filters_register_new(filters_list* list, const char* module_path, const
|
|||||||
if (handle == NULL)
|
if (handle == NULL)
|
||||||
{
|
{
|
||||||
WLog_ERR(TAG, "pf_filters_register_new(): failed loading external module: %s", module_path);
|
WLog_ERR(TAG, "pf_filters_register_new(): failed loading external module: %s", module_path);
|
||||||
goto error;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(fn = (filterInitFn) GetProcAddress(handle, FILTER_INIT_METHOD)))
|
if (!(fn = (filterInitFn) GetProcAddress(handle, FILTER_INIT_METHOD)))
|
||||||
@ -207,7 +211,6 @@ error:
|
|||||||
if (handle)
|
if (handle)
|
||||||
FreeLibrary(handle);
|
FreeLibrary(handle);
|
||||||
|
|
||||||
free(events);
|
pf_filters_filter_free(filter);
|
||||||
free(filter);
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -57,19 +57,18 @@ PF_FILTER_RESULT pf_filters_run_by_type(filters_list* list, PF_FILTER_TYPE type,
|
|||||||
void* param);
|
void* param);
|
||||||
void pf_filters_unregister_all(filters_list* list);
|
void pf_filters_unregister_all(filters_list* list);
|
||||||
|
|
||||||
#define RUN_FILTER(_filters,_type,_conn_info,_event_info,_cb,...) ({ \
|
#define RUN_FILTER(_filters,_type,_conn_info,_event_info,_ret,_cb,...) do { \
|
||||||
({ BOOL result; switch(pf_filters_run_by_type(_filters,_type,_conn_info,_event_info)) { \
|
switch(pf_filters_run_by_type(_filters,_type,_conn_info,_event_info)) { \
|
||||||
case FILTER_PASS: \
|
case FILTER_PASS: \
|
||||||
result = _cb(__VA_ARGS__); \
|
_ret = _cb(__VA_ARGS__); \
|
||||||
break; \
|
break; \
|
||||||
case FILTER_IGNORE: \
|
case FILTER_IGNORE: \
|
||||||
result = TRUE; \
|
_ret = TRUE; \
|
||||||
break; \
|
break; \
|
||||||
case FILTER_DROP: \
|
case FILTER_DROP: \
|
||||||
default: \
|
default: \
|
||||||
result = FALSE; \
|
_ret = FALSE; \
|
||||||
}; result; \
|
} \
|
||||||
}); \
|
} while(0)
|
||||||
})
|
|
||||||
|
|
||||||
#endif /* FREERDP_SERVER_PROXY_FILTERS_H */
|
#endif /* FREERDP_SERVER_PROXY_FILTERS_H */
|
||||||
|
@ -32,21 +32,22 @@ static BOOL pf_server_synchronize_event(rdpInput* input, UINT32 flags)
|
|||||||
|
|
||||||
static BOOL pf_server_keyboard_event(rdpInput* input, UINT16 flags, UINT16 code)
|
static BOOL pf_server_keyboard_event(rdpInput* input, UINT16 flags, UINT16 code)
|
||||||
{
|
{
|
||||||
|
BOOL result = FALSE;
|
||||||
pServerContext* ps = (pServerContext*)input->context;
|
pServerContext* ps = (pServerContext*)input->context;
|
||||||
pClientContext* pc = ps->pdata->pc;
|
pClientContext* pc = ps->pdata->pc;
|
||||||
rdpContext* context = (rdpContext*) pc;
|
rdpContext* context = (rdpContext*) pc;
|
||||||
proxyConfig* config = ps->pdata->config;
|
proxyConfig* config = ps->pdata->config;
|
||||||
|
proxyKeyboardEventInfo event;
|
||||||
|
|
||||||
if (!config->Keyboard)
|
if (!config->Keyboard)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
proxyKeyboardEventInfo info =
|
event.flags = flags;
|
||||||
{
|
event.rdp_scan_code = code;
|
||||||
.flags = flags,
|
|
||||||
.rdp_scan_code = code
|
RUN_FILTER(config->Filters, FILTER_TYPE_KEYBOARD, ps->pdata->info, &event, result,
|
||||||
};
|
|
||||||
return RUN_FILTER(config->Filters, FILTER_TYPE_KEYBOARD, ps->pdata->info, &info,
|
|
||||||
freerdp_input_send_keyboard_event, context->input, flags, code);
|
freerdp_input_send_keyboard_event, context->input, flags, code);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOL pf_server_unicode_keyboard_event(rdpInput* input, UINT16 flags, UINT16 code)
|
static BOOL pf_server_unicode_keyboard_event(rdpInput* input, UINT16 flags, UINT16 code)
|
||||||
@ -64,21 +65,23 @@ static BOOL pf_server_unicode_keyboard_event(rdpInput* input, UINT16 flags, UINT
|
|||||||
|
|
||||||
static BOOL pf_server_mouse_event(rdpInput* input, UINT16 flags, UINT16 x, UINT16 y)
|
static BOOL pf_server_mouse_event(rdpInput* input, UINT16 flags, UINT16 x, UINT16 y)
|
||||||
{
|
{
|
||||||
|
BOOL result = FALSE;
|
||||||
pServerContext* ps = (pServerContext*)input->context;
|
pServerContext* ps = (pServerContext*)input->context;
|
||||||
pClientContext* pc = ps->pdata->pc;
|
pClientContext* pc = ps->pdata->pc;
|
||||||
rdpContext* context = (rdpContext*) pc;
|
rdpContext* context = (rdpContext*) pc;
|
||||||
proxyConfig* config = ps->pdata->config;
|
proxyConfig* config = ps->pdata->config;
|
||||||
|
proxyMouseEventInfo event;
|
||||||
|
|
||||||
if (!config->Mouse)
|
if (!config->Mouse)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
proxyMouseEventInfo info =
|
event.flags = flags;
|
||||||
{
|
event.x = x;
|
||||||
.flags = flags,
|
event.y = y;
|
||||||
.x = x, .y = y
|
|
||||||
};
|
RUN_FILTER(config->Filters, FILTER_TYPE_MOUSE, ps->pdata->info, &event, result,
|
||||||
return RUN_FILTER(config->Filters, FILTER_TYPE_MOUSE, ps->pdata->info, &info,
|
|
||||||
freerdp_input_send_mouse_event, context->input, flags, x, y);
|
freerdp_input_send_mouse_event, context->input, flags, x, y);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOL pf_server_extended_mouse_event(rdpInput* input, UINT16 flags, UINT16 x,
|
static BOOL pf_server_extended_mouse_event(rdpInput* input, UINT16 flags, UINT16 x,
|
||||||
|
Loading…
Reference in New Issue
Block a user