summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiří Klimeš <jklimes@redhat.com>2014-08-22 13:43:52 +0200
committerJiří Klimeš <jklimes@redhat.com>2014-08-22 23:33:04 +0200
commit3cf1131e89700de4a003514f52ca93e5467161ac (patch)
tree3acd0b80e1c6d23137a8b931ba36a93207d5952e
parentbc0c1247ee66a22a333358b4e5f6b472fb91e3ea (diff)
cli: fix 'nmcli connection' so that it returns correct exit code
It was broken by commit 57e802f3aa2aac8daba9a7a442a2393ab5888dba, which made nmcli always return success. For example: $ nmcli con add type blabla
-rw-r--r--clients/cli/connections.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/clients/cli/connections.c b/clients/cli/connections.c
index 6a0273fbfe..8bfd6fd9a0 100644
--- a/clients/cli/connections.c
+++ b/clients/cli/connections.c
@@ -8548,6 +8548,7 @@ parse_cmd (NmCli *nmc, int argc, char **argv)
usage_connection_edit ();
goto usage_exit;
}
+ nmc->should_wait = TRUE;
editor_thread_data.nmc = nmc;
editor_thread_data.argc = argc - 1;
editor_thread_data.argv = argv + 1;
@@ -8593,20 +8594,15 @@ parse_cmd (NmCli *nmc, int argc, char **argv)
usage ();
g_string_printf (nmc->return_text, _("Error: '%s' is not valid 'connection' command."), *argv);
nmc->return_value = NMC_RESULT_ERROR_USER_INPUT;
- nmc->should_wait = FALSE;
}
}
- return nmc->return_value;
-
usage_exit:
- nmc->should_wait = FALSE;
return nmc->return_value;
opt_error:
g_string_printf (nmc->return_text, _("Error: %s."), error->message);
nmc->return_value = NMC_RESULT_ERROR_USER_INPUT;
- nmc->should_wait = FALSE;
g_error_free (error);
return nmc->return_value;
}
@@ -8638,8 +8634,6 @@ do_connections (NmCli *nmc, int argc, char **argv)
/* Get NMClient object early */
nmc->get_client (nmc);
- nmc->should_wait = TRUE;
-
/* get system settings */
if (!(nmc->system_settings = nm_remote_settings_new (NULL, &error))) {
g_string_printf (nmc->return_text, _("Error: Could not get system settings: %s."), error->message);
@@ -8662,10 +8656,6 @@ do_connections (NmCli *nmc, int argc, char **argv)
/* Get the connection list */
nmc->system_connections = nm_remote_settings_list_connections (nmc->system_settings);
- parse_cmd (nmc, argc, argv);
-
- if (!nmc->should_wait)
- quit ();
- return NMC_RESULT_SUCCESS;
+ return parse_cmd (nmc, argc, argv);
}
}