summaryrefslogtreecommitdiff
path: root/clients/cli/devices.c
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2019-07-30 12:23:03 +0200
committerLubomir Rintel <lkundrak@v3.sk>2019-07-30 12:42:03 +0200
commitd8a27d7c2a44ae5b1cf3706c7fed3bd592b1f61c (patch)
treea5466c7cb423896b3cf974282aac08aba8f28419 /clients/cli/devices.c
parentea5e96cb06bdf2facec36ed4d6ab3f87f6ff95d2 (diff)
downloadNetworkManager-lr/cli-extra-argument.tar.gz
cli: abort on extra argumentslr/cli-extra-argument
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 tranalate.
Diffstat (limited to 'clients/cli/devices.c')
-rw-r--r--clients/cli/devices.c25
1 files changed, 16 insertions, 9 deletions
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);
}