mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-08 15:20:19 +01:00
cli: make command line parsing check for help option first
Move the checks for nmc_arg_is_help to the beginning of the checks for command matches. Up to now, no command begins with 'h', so this has no behavioral change whatsoever. But imagine a command that begins with 'h' (for example `nmcli general hostname`), in that case `nmcli general h` should still show the help, as users might be accustomed to this abbreviation. Signed-off-by: Thomas Haller <thaller@redhat.com>
This commit is contained in:
parent
93131b1df2
commit
c9cfbae12b
3 changed files with 17 additions and 17 deletions
|
|
@ -7290,7 +7290,11 @@ parse_cmd (NmCli *nmc, int argc, char **argv)
|
|||
goto opt_error;
|
||||
nmc->return_value = do_connections_show (nmc, argc, argv);
|
||||
} else {
|
||||
if (matches (*argv, "show") == 0) {
|
||||
if (nmc_arg_is_help (*argv)) {
|
||||
usage ();
|
||||
nmc->should_wait = FALSE;
|
||||
}
|
||||
else if (matches (*argv, "show") == 0) {
|
||||
arg_ret = next_arg (&argc, &argv);
|
||||
if (arg_ret != 0 || matches (*argv, "configured") == 0) {
|
||||
next_arg (&argc, &argv);
|
||||
|
|
@ -7334,10 +7338,6 @@ parse_cmd (NmCli *nmc, int argc, char **argv)
|
|||
else if (matches (*argv, "modify") == 0) {
|
||||
nmc->return_value = do_connection_modify (nmc, argc-1, argv+1);
|
||||
}
|
||||
else if (nmc_arg_is_help (*argv)) {
|
||||
usage ();
|
||||
nmc->should_wait = FALSE;
|
||||
}
|
||||
else {
|
||||
usage ();
|
||||
g_string_printf (nmc->return_text, _("Error: '%s' is not valid 'connection' command."), *argv);
|
||||
|
|
|
|||
|
|
@ -2427,7 +2427,10 @@ do_devices (NmCli *nmc, int argc, char **argv)
|
|||
}
|
||||
|
||||
if (argc > 0) {
|
||||
if (matches (*argv, "status") == 0) {
|
||||
if (nmc_arg_is_help (*argv)) {
|
||||
usage ();
|
||||
}
|
||||
else if (matches (*argv, "status") == 0) {
|
||||
if (!nmc_terse_option_check (nmc->print_output, nmc->required_fields, &error))
|
||||
goto opt_error;
|
||||
nmc->return_value = do_devices_status (nmc, argc-1, argv+1);
|
||||
|
|
@ -2455,9 +2458,6 @@ do_devices (NmCli *nmc, int argc, char **argv)
|
|||
nmc->return_value = do_device_wimax (nmc, argc-1, argv+1);
|
||||
}
|
||||
#endif
|
||||
else if (nmc_arg_is_help (*argv)) {
|
||||
usage ();
|
||||
}
|
||||
else {
|
||||
usage ();
|
||||
g_string_printf (nmc->return_text, _("Error: 'dev' command '%s' is not valid."), *argv);
|
||||
|
|
|
|||
|
|
@ -463,7 +463,10 @@ do_general (NmCli *nmc, int argc, char **argv)
|
|||
}
|
||||
|
||||
if (argc > 0) {
|
||||
if (matches (*argv, "status") == 0) {
|
||||
if (nmc_arg_is_help (*argv)) {
|
||||
usage_general ();
|
||||
}
|
||||
else if (matches (*argv, "status") == 0) {
|
||||
if (!nmc_terse_option_check (nmc->print_output, nmc->required_fields, &error)) {
|
||||
g_string_printf (nmc->return_text, _("Error: %s."), error->message);
|
||||
nmc->return_value = NMC_RESULT_ERROR_USER_INPUT;
|
||||
|
|
@ -514,9 +517,6 @@ do_general (NmCli *nmc, int argc, char **argv)
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (nmc_arg_is_help (*argv)) {
|
||||
usage_general ();
|
||||
}
|
||||
else {
|
||||
usage_general ();
|
||||
g_string_printf (nmc->return_text, _("Error: 'general' command '%s' is not valid."), *argv);
|
||||
|
|
@ -645,7 +645,10 @@ do_radio (NmCli *nmc, int argc, char **argv)
|
|||
}
|
||||
|
||||
if (argc > 0) {
|
||||
if (matches (*argv, "all") == 0) {
|
||||
if (nmc_arg_is_help (*argv)) {
|
||||
usage_radio ();
|
||||
}
|
||||
else if (matches (*argv, "all") == 0) {
|
||||
if (next_arg (&argc, &argv) != 0) {
|
||||
/* no argument, show all radio switches */
|
||||
if (!nmc_terse_option_check (nmc->print_output, nmc->required_fields, &error)) {
|
||||
|
|
@ -703,9 +706,6 @@ do_radio (NmCli *nmc, int argc, char **argv)
|
|||
}
|
||||
}
|
||||
#endif
|
||||
else if (nmc_arg_is_help (*argv)) {
|
||||
usage_radio ();
|
||||
}
|
||||
else {
|
||||
usage_radio ();
|
||||
g_string_printf (nmc->return_text, _("Error: 'radio' command '%s' is not valid."), *argv);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue