diff options
author | Jiří Klimeš <jklimes@redhat.com> | 2015-10-23 12:22:36 +0200 |
---|---|---|
committer | Jiří Klimeš <jklimes@redhat.com> | 2015-10-23 12:32:00 +0200 |
commit | b25880533ee83bb4a6f68a941ae2d2fd5de6af9f (patch) | |
tree | bf3e502b9e4ab89d204d1f89adbd7b1cfac8f6bc | |
parent | 02ad858a6d3d3ce86a117fc368bbc05ada65b76d (diff) | |
download | NetworkManager-b25880533ee83bb4a6f68a941ae2d2fd5de6af9f.tar.gz |
cli: improve error reporting of missing 'ifname' parameter
Example:
before:
$ nmcli c add type gsm con-nameX aaa ifname fsd
Error: 'ifname' argument is required.
now:
$ nmcli c add type gsm con-nameX aaa ifname fsd
Error: mandatory 'ifname' not seen before 'con-nameX'.
(cherry picked from commit 696a443e982fd62397acb94849e181be58a37fcf)
-rw-r--r-- | clients/cli/connections.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/clients/cli/connections.c b/clients/cli/connections.c index 85b1c7df56..55bde29aa0 100644 --- a/clients/cli/connections.c +++ b/clients/cli/connections.c @@ -5796,15 +5796,20 @@ do_connection_add (NmCli *nmc, int argc, char **argv) || strcmp (type, NM_SETTING_VLAN_SETTING_NAME) == 0) ifname_mandatory = FALSE; - if (!ifname && ifname_mandatory && nmc->ask) { - ifname = ifname_ask = nmc_readline (_("Interface name [*]: ")); - if (!ifname) - ifname = ifname_ask = g_strdup ("*"); - } if (!ifname && ifname_mandatory) { - g_string_printf (nmc->return_text, _("Error: 'ifname' argument is required.")); - nmc->return_value = NMC_RESULT_ERROR_USER_INPUT; - goto error; + if (nmc->ask) { + ifname = ifname_ask = nmc_readline (_("Interface name [*]: ")); + if (!ifname) + ifname = ifname_ask = g_strdup ("*"); + } else { + if (!*argv) + g_string_printf (nmc->return_text, _("Error: 'ifname' argument is required.")); + else + g_string_printf (nmc->return_text, _("Error: mandatory 'ifname' not seen before '%s'."), + *argv); + nmc->return_value = NMC_RESULT_ERROR_USER_INPUT; + goto error; + } } if (ifname) { if (!nm_utils_iface_valid_name (ifname) && strcmp (ifname, "*") != 0) { |