summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2016-07-07 14:54:51 +0200
committerLubomir Rintel <lkundrak@v3.sk>2016-08-01 13:52:36 +0200
commit18352340b65a3e93311fc725300f1386832037f8 (patch)
treed1c8348f577c2dae9ddb1e25ebdf499efb08e1a1
parent2895261c91de4378e639381b35daf999ec8e591c (diff)
downloadNetworkManager-18352340b65a3e93311fc725300f1386832037f8.tar.gz
cli/connections: add completion to clone subcommand
-rw-r--r--clients/cli/connections.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/clients/cli/connections.c b/clients/cli/connections.c
index 55ac414e16..e7bcb2ef02 100644
--- a/clients/cli/connections.c
+++ b/clients/cli/connections.c
@@ -8029,12 +8029,16 @@ do_connection_clone (NmCli *nmc, int argc, char **argv)
int *argc_ptr = &argc;
GError *error = NULL;
- /* Not (yet?) supported */
- if (nmc->complete)
- return nmc->return_value;
+ if (argc == 1 && nmc->complete)
+ nmc_complete_strings (*argv, "temporary", NULL);
if (argc == 0 && nmc->ask) {
- char *line = nmc_readline ("%s: ", PROMPT_CONNECTION);
+ char *line;
+
+ /* nmc_do_cmd() should not call this with argc=0. */
+ g_assert (!nmc->complete);
+
+ line = nmc_readline ("%s: ", PROMPT_CONNECTION);
nmc_string_to_arg_array (line, NULL, TRUE, &arg_arr, &arg_num);
g_free (line);
argv_ptr = &arg_arr;
@@ -8051,6 +8055,9 @@ do_connection_clone (NmCli *nmc, int argc, char **argv)
goto finish;
}
+ if (nmc->complete)
+ goto finish;
+
if (next_arg (&argc, &argv) == 0)
new_name = *argv;
else if (nmc->ask)