summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiří Klimeš <jklimes@redhat.com>2015-10-23 12:22:36 +0200
committerJiří Klimeš <jklimes@redhat.com>2015-10-23 12:32:00 +0200
commitb25880533ee83bb4a6f68a941ae2d2fd5de6af9f (patch)
treebf3e502b9e4ab89d204d1f89adbd7b1cfac8f6bc
parent02ad858a6d3d3ce86a117fc368bbc05ada65b76d (diff)
downloadNetworkManager-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.c21
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) {