diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2016-07-07 14:54:51 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2016-08-01 13:52:36 +0200 |
commit | 18352340b65a3e93311fc725300f1386832037f8 (patch) | |
tree | d1c8348f577c2dae9ddb1e25ebdf499efb08e1a1 | |
parent | 2895261c91de4378e639381b35daf999ec8e591c (diff) | |
download | NetworkManager-18352340b65a3e93311fc725300f1386832037f8.tar.gz |
cli/connections: add completion to clone subcommand
-rw-r--r-- | clients/cli/connections.c | 15 |
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) |