diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2016-07-12 15:43:56 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2016-08-01 13:52:36 +0200 |
commit | d73c0e57d5940fa906e5f8aeb59b901a904e8df0 (patch) | |
tree | 5506ea7685c62e6749c98ecba31f804567ca91fd | |
parent | 9827725210c4f759e8883d8eeeb62a539801446c (diff) | |
download | NetworkManager-d73c0e57d5940fa906e5f8aeb59b901a904e8df0.tar.gz |
cli: add ability to indicate command completion expects a file name
-rw-r--r-- | clients/cli/nmcli.c | 11 | ||||
-rw-r--r-- | clients/cli/nmcli.h | 5 | ||||
-rw-r--r-- | man/nmcli.xml | 7 |
3 files changed, 17 insertions, 6 deletions
diff --git a/clients/cli/nmcli.c b/clients/cli/nmcli.c index 43b1ae9b42..f3dc825d8c 100644 --- a/clients/cli/nmcli.c +++ b/clients/cli/nmcli.c @@ -601,11 +601,12 @@ main (int argc, char *argv[]) loop = g_main_loop_new (NULL, FALSE); /* create main loop */ g_main_loop_run (loop); /* run main loop */ - if (nm_cli.complete) - nm_cli.return_value = NMC_RESULT_SUCCESS; - - /* Print result descripting text */ - if (nm_cli.return_value != NMC_RESULT_SUCCESS) { + if (nm_cli.complete) { + /* Remove error statuses from command completion runs. */ + if (nm_cli.return_value < NMC_RESULT_COMPLETE_FILE) + nm_cli.return_value = NMC_RESULT_SUCCESS; + } else if (nm_cli.return_value != NMC_RESULT_SUCCESS) { + /* Print result descripting text */ g_printerr ("%s\n", nm_cli.return_text->str); } diff --git a/clients/cli/nmcli.h b/clients/cli/nmcli.h index c867ad5f9f..a8908685bd 100644 --- a/clients/cli/nmcli.h +++ b/clients/cli/nmcli.h @@ -63,7 +63,10 @@ typedef enum { NMC_RESULT_ERROR_VERSIONS_MISMATCH = 9, /* Connection/Device/AP not found */ - NMC_RESULT_ERROR_NOT_FOUND = 10 + NMC_RESULT_ERROR_NOT_FOUND = 10, + + /* --complete-args signals a file name may follow */ + NMC_RESULT_COMPLETE_FILE = 65, } NMCResultCode; typedef enum { diff --git a/man/nmcli.xml b/man/nmcli.xml index 0d403202f4..739efa9ce9 100644 --- a/man/nmcli.xml +++ b/man/nmcli.xml @@ -2089,6 +2089,13 @@ It's equivalent of using <literal>+ipv6.addresses</literal> syntax.</entry> <para>Connection, device, or access point does not exist.</para> </listitem> </varlistentry> + + <varlistentry> + <term><errorcode>65</errorcode></term> + <listitem> + <para>When used with <option>--complete-args</option> option, a file name is expected to follow.</para> + </listitem> + </varlistentry> </variablelist> </refsect1> |