Fixed TestConnect with dynamic channels.
authorArmin Novak <armin.novak@thincast.com>
Mon, 25 Sep 2017 11:30:05 +0000 (13:30 +0200)
committerArmin Novak <armin.novak@thincast.com>
Mon, 25 Sep 2017 11:34:00 +0000 (13:34 +0200)
libfreerdp/core/test/TestConnect.c

index cab56f7..8bcd19e 100644 (file)
@@ -9,21 +9,23 @@ static HANDLE s_sync = NULL;
 static int runInstance(int argc, char* argv[], freerdp** inst)
 {
        int rc = -1;
-       freerdp* instance = freerdp_new();
-
-       if (!instance)
+       RDP_CLIENT_ENTRY_POINTS clientEntryPoints;
+       ZeroMemory(&clientEntryPoints, sizeof(RDP_CLIENT_ENTRY_POINTS));
+       clientEntryPoints.Size = sizeof(RDP_CLIENT_ENTRY_POINTS);
+       clientEntryPoints.Version = RDP_CLIENT_INTERFACE_VERSION;
+       clientEntryPoints.ContextSize = sizeof(rdpContext);
+       rdpContext* context = freerdp_client_context_new(&clientEntryPoints);
+
+       if (!context)
                goto finish;
 
        if (inst)
-               *inst = instance;
-
-       if (!freerdp_context_new(instance))
-               goto finish;
+               *inst = context->instance;
 
-       if (freerdp_client_settings_parse_command_line(instance->settings, argc, argv, FALSE) < 0)
+       if (freerdp_client_settings_parse_command_line(context->settings, argc, argv, FALSE) < 0)
                goto finish;
 
-       if (!freerdp_client_load_addins(instance->context->channels, instance->settings))
+       if (!freerdp_client_load_addins(context->channels, context->settings))
                goto finish;
 
        if (s_sync)
@@ -34,18 +36,17 @@ static int runInstance(int argc, char* argv[], freerdp** inst)
 
        rc = 1;
 
-       if (!freerdp_connect(instance))
+       if (!freerdp_connect(context->instance))
                goto finish;
 
        rc = 2;
 
-       if (!freerdp_disconnect(instance))
+       if (!freerdp_disconnect(context->instance))
                goto finish;
 
        rc = 0;
 finish:
-       freerdp_context_free(instance);
-       freerdp_free(instance);
+       freerdp_client_context_free(context);
        return rc;
 }