Refactored freerdp_client_settings_command_line_status_print_ex
authorakallabeth <akallabeth@posteo.net>
Fri, 22 Jan 2021 07:40:03 +0000 (08:40 +0100)
committerakallabeth <akallabeth@users.noreply.github.com>
Thu, 25 Feb 2021 08:51:41 +0000 (09:51 +0100)
Now returns 0 if help or version information was requested.

(cherry picked from commit 531dd81836f2c97fcfcfeabdb9671fb76409ce8d)

client/Sample/tf_freerdp.c
client/Wayland/wlfreerdp.c
client/Windows/cli/wfreerdp.c
client/X11/cli/xfreerdp.c
client/common/cmdline.c

index 49412cb..e9b9fe8 100644 (file)
@@ -340,11 +340,8 @@ int main(int argc, char* argv[])
        status = freerdp_client_settings_parse_command_line(context->settings, argc, argv, FALSE);
        if (status)
        {
-               freerdp_client_settings_command_line_status_print(context->settings, status, argc, argv);
-
-               if (status <= COMMAND_LINE_STATUS_PRINT && status >= COMMAND_LINE_STATUS_PRINT_LAST)
-                       rc = 0;
-
+               rc = freerdp_client_settings_command_line_status_print(context->settings, status, argc,
+                                                                      argv);
                goto fail;
        }
 
index d77b479..4a58306 100644 (file)
@@ -632,14 +632,11 @@ int main(int argc, char* argv[])
        {
                BOOL list = settings->ListMonitors;
 
-               freerdp_client_settings_command_line_status_print(settings, status, argc, argv);
+               rc = freerdp_client_settings_command_line_status_print(settings, status, argc, argv);
 
                if (list)
                        wlf_list_monitors(wlc);
 
-               if (status <= COMMAND_LINE_STATUS_PRINT && status >= COMMAND_LINE_STATUS_PRINT_LAST)
-                       rc = 0;
-
                goto fail;
        }
 
index b623067..e325f84 100644 (file)
@@ -107,11 +107,7 @@ INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
 
        if (status)
        {
-               freerdp_client_settings_command_line_status_print(settings, status, argc, argv);
-
-               if (status <= COMMAND_LINE_STATUS_PRINT && status >= COMMAND_LINE_STATUS_PRINT_LAST)
-                       rc = 0;
-
+               ret = freerdp_client_settings_command_line_status_print(settings, status, argc, argv);
                goto out;
        }
 
index a3505b2..5b70219 100644 (file)
@@ -61,14 +61,11 @@ int main(int argc, char* argv[])
        {
                BOOL list = settings->ListMonitors;
 
-               freerdp_client_settings_command_line_status_print(settings, status, argc, argv);
+               rc = freerdp_client_settings_command_line_status_print(settings, status, argc, argv);
 
                if (list)
                        xf_list_monitors(xfc);
 
-               if (status <= COMMAND_LINE_STATUS_PRINT && status >= COMMAND_LINE_STATUS_PRINT_LAST)
-                       rc = 0;
-
                goto out;
        }
 
index d461702..1931172 100644 (file)
@@ -1403,14 +1403,14 @@ int freerdp_client_settings_command_line_status_print_ex(rdpSettings* settings,
        if (status == COMMAND_LINE_STATUS_PRINT_VERSION)
        {
                freerdp_client_print_version();
-               return COMMAND_LINE_STATUS_PRINT_VERSION;
+               goto out;
        }
 
        if (status == COMMAND_LINE_STATUS_PRINT_BUILDCONFIG)
        {
                freerdp_client_print_version();
                freerdp_client_print_buildconfig();
-               return COMMAND_LINE_STATUS_PRINT_BUILDCONFIG;
+               goto out;
        }
        else if (status == COMMAND_LINE_STATUS_PRINT)
        {
@@ -1465,15 +1465,19 @@ int freerdp_client_settings_command_line_status_print_ex(rdpSettings* settings,
                        settings->ListMonitors = TRUE;
                }
 
-               return COMMAND_LINE_STATUS_PRINT;
+               goto out;
        }
        else if (status < 0)
        {
                freerdp_client_print_command_line_help_ex(argc, argv, custom);
-               return COMMAND_LINE_STATUS_PRINT_HELP;
+               status = COMMAND_LINE_STATUS_PRINT_HELP;
+               goto out;
        }
 
-       return 0;
+out:
+       if (status <= COMMAND_LINE_STATUS_PRINT && status >= COMMAND_LINE_STATUS_PRINT_LAST)
+               return 0;
+       return status;
 }
 
 static BOOL ends_with(const char* str, const char* ext)