rail: fix flags for executable specified as full path, not alias

This commit is contained in:
Marc-André Moreau 2011-10-21 14:08:31 -04:00
parent 9165505e0d
commit 38f25c99ee

View File

@ -53,15 +53,17 @@ static void on_free_rail_channel_event(RDP_EVENT* event)
void rail_send_channel_event(void* rail_object, uint16 event_type, void* param)
{
void * payload = NULL;
RDP_EVENT* out_event = NULL;
railPlugin* plugin = (railPlugin*) rail_object;
void * payload = NULL;
payload = rail_clone_order(event_type, param);
if (payload != NULL)
{
out_event = freerdp_event_new(RDP_EVENT_CLASS_RAIL, event_type,
on_free_rail_channel_event, payload);
svc_plugin_send_event((rdpSvcPlugin*) plugin, out_event);
}
}
@ -89,6 +91,16 @@ static void rail_process_receive(rdpSvcPlugin* plugin, STREAM* s)
static void rail_process_plugin_data(rdpRailOrder* rail_order, RDP_PLUGIN_DATA* data)
{
char* exeOrFile;
exeOrFile = (char*) data->data[0];
if (strlen(exeOrFile) >= 2)
{
if (strncmp(exeOrFile, "||", 2) != 0)
rail_order->exec.flags |= RAIL_EXEC_FLAG_FILE;
}
rail_string_to_unicode_string(rail_order, (char*) data->data[0], &rail_order->exec.exeOrFile);
rail_string_to_unicode_string(rail_order, (char*) data->data[1], &rail_order->exec.workingDir);
rail_string_to_unicode_string(rail_order, (char*) data->data[2], &rail_order->exec.arguments);