diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2019-07-30 12:23:03 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2019-07-30 18:40:31 +0200 |
commit | 577769b98384f7f93480a90031a407a51347aab5 (patch) | |
tree | a9d8c30aa54ce0122c0e2c8ecc758e89ea64d854 /clients/cli | |
parent | ce08b444710995519865503b0c12073216813ba0 (diff) | |
download | NetworkManager-577769b98384f7f93480a90031a407a51347aab5.tar.gz |
cli: abort on extra arguments
Instead of straight-out rejecting extra parameters for various nmcli
sub-commands (such as "nmcli dev status", "nmcli dev wifi rescan" or
"nmcli dev wifi connect", etc.), we just print a warning and go ahead.
This is unhelpful. In case the user makes a typo, we'll do the wrong
thing and possibly even drown the warning in the output.
While at that, let's make the error message consistent. One less string
to translate.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/217
Diffstat (limited to 'clients/cli')
-rw-r--r-- | clients/cli/connections.c | 5 | ||||
-rw-r--r-- | clients/cli/devices.c | 25 |
2 files changed, 19 insertions, 11 deletions
diff --git a/clients/cli/connections.c b/clients/cli/connections.c index 9a622b0b4f..806e3504c1 100644 --- a/clients/cli/connections.c +++ b/clients/cli/connections.c @@ -2933,7 +2933,8 @@ do_connection_up (NmCli *nmc, int argc, char **argv) pwds = *argv; } else if (!nmc->complete) { - g_printerr (_("Unknown parameter: %s\n"), *argv); + g_string_printf (nmc->return_text, _("Error: invalid extra argument '%s'."), *argv); + return NMC_RESULT_ERROR_USER_INPUT; } next_arg (nmc, &argc, &argv, NULL); @@ -8901,7 +8902,7 @@ do_connection_import (NmCli *nmc, int argc, char **argv) else g_printerr (_("Warning: 'file' already specified, ignoring extra one.\n")); } else { - g_string_printf (nmc->return_text, _("Unknown parameter: %s"), *argv); + g_string_printf (nmc->return_text, _("Error: invalid extra argument '%s'."), *argv); return NMC_RESULT_ERROR_USER_INPUT; } diff --git a/clients/cli/devices.c b/clients/cli/devices.c index c00d3191a9..b37b40e08a 100644 --- a/clients/cli/devices.c +++ b/clients/cli/devices.c @@ -1681,9 +1681,9 @@ do_devices_status (NmCli *nmc, int argc, char **argv) if (nmc->complete) return nmc->return_value; - while (argc > 0) { - g_printerr (_("Unknown parameter: %s\n"), *argv); - next_arg (nmc, &argc, &argv, NULL); + if (argc) { + g_string_printf (nmc->return_text, _("Error: invalid extra argument '%s'."), *argv); + return NMC_RESULT_ERROR_USER_INPUT; } if (!nmc->required_fields || strcasecmp (nmc->required_fields, "common") == 0) @@ -3027,8 +3027,10 @@ do_device_wifi_list (NmCli *nmc, int argc, char **argv) if (nmc->complete) return nmc->return_value; - if (argc) - g_printerr (_("Unknown parameter: %s\n"), *argv); + if (argc) { + g_string_printf (nmc->return_text, _("Error: invalid extra argument '%s'."), *argv); + return NMC_RESULT_ERROR_USER_INPUT; + } if (rescan == NULL || strcmp (rescan, "auto") == 0) { rescan_cutoff = NM_MAX (nm_utils_get_timestamp_msec () - 30 * NM_UTILS_MSEC_PER_SECOND, 0); @@ -3291,7 +3293,9 @@ do_device_wifi_connect_network (NmCli *nmc, int argc, char **argv) goto finish; } } else if (!nmc->complete) { - g_printerr (_("Unknown parameter: %s\n"), *argv); + g_string_printf (nmc->return_text, _("Error: invalid extra argument '%s'."), *argv); + nmc->return_value = NMC_RESULT_ERROR_USER_INPUT; + goto finish; } next_arg (nmc, &argc, &argv, NULL); @@ -3784,7 +3788,7 @@ do_device_wifi_hotspot (NmCli *nmc, int argc, char **argv) } else if (nmc_arg_is_option (*argv, "show-password")) { show_password = TRUE; } else { - g_string_printf (nmc->return_text, _("Error: Unknown parameter %s."), *argv); + g_string_printf (nmc->return_text, _("Error: invalid extra argument '%s'."), *argv); return NMC_RESULT_ERROR_USER_INPUT; } @@ -3966,8 +3970,11 @@ do_device_wifi_rescan (NmCli *nmc, int argc, char **argv) goto finish; } g_ptr_array_add (ssids, *argv); - } else if (!nmc->complete) - g_printerr (_("Unknown parameter: %s\n"), *argv); + } else if (!nmc->complete) { + g_string_printf (nmc->return_text, _("Error: invalid extra argument '%s'."), *argv); + nmc->return_value = NMC_RESULT_ERROR_USER_INPUT; + goto finish; + } next_arg (nmc, &argc, &argv, NULL); } |