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)
|
||||
{
|
||||
proxyMouseEventInfo* event_data = (proxyMouseEventInfo*) param;
|
||||
proxyMouseEventInfo* event_data = (proxyMouseEventInfo*) param;
|
||||
|
||||
if (event_data->x % 100 == 0)
|
||||
{
|
||||
|
@ -35,6 +35,9 @@
|
||||
wArrayList* parse_string_array_from_str(const char* str)
|
||||
{
|
||||
wArrayList* list = ArrayList_New(FALSE);
|
||||
char* s;
|
||||
char* temp;
|
||||
char* token;
|
||||
|
||||
if (list == NULL)
|
||||
{
|
||||
@ -42,9 +45,13 @@ wArrayList* parse_string_array_from_str(const char* str)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
char* s = _strdup(str);
|
||||
char* temp = s;
|
||||
char* token;
|
||||
|
||||
temp = s = _strdup(str);
|
||||
if (!s)
|
||||
{
|
||||
WLog_ERR(TAG, "parse_string_array_from_str(): strdup failed!");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (s == NULL)
|
||||
{
|
||||
@ -115,6 +122,7 @@ DWORD pf_server_load_config(const char* path, proxyConfig* config)
|
||||
char** filters_names;
|
||||
int rc;
|
||||
int filters_count = 0;
|
||||
UINT32 index;
|
||||
DWORD result = CONFIG_PARSE_ERROR;
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
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)
|
||||
{
|
||||
assert(filter != NULL);
|
||||
FreeLibrary(filter->handle);
|
||||
if (filter->handle)
|
||||
FreeLibrary(filter->handle);
|
||||
|
||||
free(filter->name);
|
||||
free(filter->events);
|
||||
free(filter);
|
||||
@ -130,11 +132,13 @@ static void pf_filters_filter_free(proxyFilter* filter)
|
||||
|
||||
void pf_filters_unregister_all(filters_list* list)
|
||||
{
|
||||
size_t count;
|
||||
size_t index;
|
||||
|
||||
if (list == NULL)
|
||||
return;
|
||||
|
||||
const size_t count = (size_t) ArrayList_Count(list);
|
||||
size_t index;
|
||||
count = (size_t) ArrayList_Count(list);
|
||||
|
||||
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)
|
||||
{
|
||||
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)))
|
||||
@ -207,7 +211,6 @@ error:
|
||||
if (handle)
|
||||
FreeLibrary(handle);
|
||||
|
||||
free(events);
|
||||
free(filter);
|
||||
pf_filters_filter_free(filter);
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -57,19 +57,18 @@ PF_FILTER_RESULT pf_filters_run_by_type(filters_list* list, PF_FILTER_TYPE type,
|
||||
void* param);
|
||||
void pf_filters_unregister_all(filters_list* list);
|
||||
|
||||
#define RUN_FILTER(_filters,_type,_conn_info,_event_info,_cb,...) ({ \
|
||||
({ BOOL result; switch(pf_filters_run_by_type(_filters,_type,_conn_info,_event_info)) { \
|
||||
#define RUN_FILTER(_filters,_type,_conn_info,_event_info,_ret,_cb,...) do { \
|
||||
switch(pf_filters_run_by_type(_filters,_type,_conn_info,_event_info)) { \
|
||||
case FILTER_PASS: \
|
||||
result = _cb(__VA_ARGS__); \
|
||||
_ret = _cb(__VA_ARGS__); \
|
||||
break; \
|
||||
case FILTER_IGNORE: \
|
||||
result = TRUE; \
|
||||
_ret = TRUE; \
|
||||
break; \
|
||||
case FILTER_DROP: \
|
||||
default: \
|
||||
result = FALSE; \
|
||||
}; result; \
|
||||
}); \
|
||||
})
|
||||
_ret = FALSE; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#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)
|
||||
{
|
||||
BOOL result = FALSE;
|
||||
pServerContext* ps = (pServerContext*)input->context;
|
||||
pClientContext* pc = ps->pdata->pc;
|
||||
rdpContext* context = (rdpContext*) pc;
|
||||
proxyConfig* config = ps->pdata->config;
|
||||
proxyKeyboardEventInfo event;
|
||||
|
||||
if (!config->Keyboard)
|
||||
return TRUE;
|
||||
|
||||
proxyKeyboardEventInfo info =
|
||||
{
|
||||
.flags = flags,
|
||||
.rdp_scan_code = code
|
||||
};
|
||||
return RUN_FILTER(config->Filters, FILTER_TYPE_KEYBOARD, ps->pdata->info, &info,
|
||||
event.flags = flags;
|
||||
event.rdp_scan_code = code;
|
||||
|
||||
RUN_FILTER(config->Filters, FILTER_TYPE_KEYBOARD, ps->pdata->info, &event, result,
|
||||
freerdp_input_send_keyboard_event, context->input, flags, code);
|
||||
return result;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
BOOL result = FALSE;
|
||||
pServerContext* ps = (pServerContext*)input->context;
|
||||
pClientContext* pc = ps->pdata->pc;
|
||||
rdpContext* context = (rdpContext*) pc;
|
||||
proxyConfig* config = ps->pdata->config;
|
||||
proxyMouseEventInfo event;
|
||||
|
||||
if (!config->Mouse)
|
||||
return TRUE;
|
||||
|
||||
proxyMouseEventInfo info =
|
||||
{
|
||||
.flags = flags,
|
||||
.x = x, .y = y
|
||||
};
|
||||
return RUN_FILTER(config->Filters, FILTER_TYPE_MOUSE, ps->pdata->info, &info,
|
||||
event.flags = flags;
|
||||
event.x = x;
|
||||
event.y = y;
|
||||
|
||||
RUN_FILTER(config->Filters, FILTER_TYPE_MOUSE, ps->pdata->info, &event, result,
|
||||
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,
|
||||
|
Loading…
Reference in New Issue
Block a user