cli: add NmCli argument to next_arg()

Will be useful in next commit.
This commit is contained in:
Lubomir Rintel 2017-03-24 14:11:49 +01:00
parent 16902a2be6
commit 5a71bc8022
6 changed files with 37 additions and 37 deletions

View file

@ -1734,7 +1734,7 @@ get_connection (NmCli *nmc, int *argc, char ***argv, int *pos, GError **error)
* don't switch to next argument. * don't switch to next argument.
*/ */
if (!pos || !*pos) if (!pos || !*pos)
next_arg (argc, argv); next_arg (nmc, argc, argv);
return connection; return connection;
} }
@ -1759,12 +1759,12 @@ do_connections_show (NmCli *nmc, int argc, char **argv)
if (!active_only && nmc_arg_is_option (*argv, "active")) { if (!active_only && nmc_arg_is_option (*argv, "active")) {
active_only = TRUE; active_only = TRUE;
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} else if (!show_secrets && nmc_arg_is_option (*argv, "show-secrets")) { } else if (!show_secrets && nmc_arg_is_option (*argv, "show-secrets")) {
/* --show-secrets is deprecated in favour of global --show-secrets */ /* --show-secrets is deprecated in favour of global --show-secrets */
/* Keep it here for backwards compatibility */ /* Keep it here for backwards compatibility */
show_secrets = TRUE; show_secrets = TRUE;
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} else if (!order && nmc_arg_is_option (*argv, "order")) { } else if (!order && nmc_arg_is_option (*argv, "order")) {
if (!argc) { if (!argc) {
g_set_error_literal (&err, NMCLI_ERROR, 0, g_set_error_literal (&err, NMCLI_ERROR, 0,
@ -1777,7 +1777,7 @@ do_connections_show (NmCli *nmc, int argc, char **argv)
order = parse_preferred_connection_order (*argv, &err); order = parse_preferred_connection_order (*argv, &err);
if (err) if (err)
goto finish; goto finish;
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} else { } else {
break; break;
} }
@ -1895,12 +1895,12 @@ do_connections_show (NmCli *nmc, int argc, char **argv)
if (!acon) if (!acon)
acon = get_ac_for_connection (active_cons, con); acon = get_ac_for_connection (active_cons, con);
if (active_only && !acon) { if (active_only && !acon) {
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
continue; continue;
} }
if (nmc->complete) { if (nmc->complete) {
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
continue; continue;
} }
@ -1938,7 +1938,7 @@ do_connections_show (NmCli *nmc, int argc, char **argv)
* so process the same argument again. * so process the same argument again.
*/ */
if (!pos) if (!pos)
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} }
} }
@ -2640,7 +2640,7 @@ do_connection_up (NmCli *nmc, int argc, char **argv)
g_printerr (_("Unknown parameter: %s\n"), *argv); g_printerr (_("Unknown parameter: %s\n"), *argv);
} }
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} }
if (nmc->complete) if (nmc->complete)
@ -2822,7 +2822,7 @@ do_connection_down (NmCli *nmc, int argc, char **argv)
} }
if (idx == 0) if (idx == 0)
next_arg (&arg_num, &arg_ptr); next_arg (nmc->ask ? NULL : nmc, &arg_num, &arg_ptr);
} }
if (!queue) { if (!queue) {
@ -4955,7 +4955,7 @@ read_properties:
* options and properties to be separated with "--" */ * options and properties to be separated with "--" */
g_clear_error (&error); g_clear_error (&error);
seen_dash_dash = TRUE; seen_dash_dash = TRUE;
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
goto read_properties; goto read_properties;
} else if (g_strcmp0 (*argv, "save") == 0) { } else if (g_strcmp0 (*argv, "save") == 0) {
/* It would be better if "save" was a separate argument and not /* It would be better if "save" was a separate argument and not
@ -4977,7 +4977,7 @@ read_properties:
g_clear_error (&error); g_clear_error (&error);
goto finish; goto finish;
} }
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
goto read_properties; goto read_properties;
} }
@ -8104,7 +8104,7 @@ do_connection_modify (NmCli *nmc,
if (nmc->complete) if (nmc->complete)
goto finish; goto finish;
temporary = TRUE; temporary = TRUE;
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} }
connection = get_connection (nmc, &argc, &argv, NULL, &error); connection = get_connection (nmc, &argc, &argv, NULL, &error);
@ -8213,7 +8213,7 @@ do_connection_clone (NmCli *nmc, int argc, char **argv)
argc_ptr = &arg_num; argc_ptr = &arg_num;
} else if (nmc_arg_is_option (*argv, "temporary")) { } else if (nmc_arg_is_option (*argv, "temporary")) {
temporary = TRUE; temporary = TRUE;
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} }
connection = get_connection (nmc, argc_ptr, argv_ptr, NULL, &error); connection = get_connection (nmc, argc_ptr, argv_ptr, NULL, &error);
@ -8236,7 +8236,7 @@ do_connection_clone (NmCli *nmc, int argc, char **argv)
goto finish; goto finish;
} }
if (next_arg (argc_ptr, argv_ptr) == 0) { if (next_arg (nmc->ask ? NULL : nmc, argc_ptr, argv_ptr) == 0) {
g_string_printf (nmc->return_text, _("Error: unknown extra argument: '%s'."), *argv); g_string_printf (nmc->return_text, _("Error: unknown extra argument: '%s'."), *argv);
nmc->return_value = NMC_RESULT_ERROR_USER_INPUT; nmc->return_value = NMC_RESULT_ERROR_USER_INPUT;
goto finish; goto finish;
@ -8598,7 +8598,7 @@ do_connection_import (NmCli *nmc, int argc, char **argv)
nmc_complete_strings (*argv, "temporary", "type", "file", NULL); nmc_complete_strings (*argv, "temporary", "type", "file", NULL);
if (nmc_arg_is_option (*argv, "temporary")) { if (nmc_arg_is_option (*argv, "temporary")) {
temporary = TRUE; temporary = TRUE;
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} }
if (strcmp (*argv, "type") == 0) { if (strcmp (*argv, "type") == 0) {
@ -8638,7 +8638,7 @@ do_connection_import (NmCli *nmc, int argc, char **argv)
goto finish; goto finish;
} }
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} }
if (nmc->complete) if (nmc->complete)
@ -8746,7 +8746,7 @@ do_connection_export (NmCli *nmc, int argc, char **argv)
argv++; argv++;
} }
if (next_arg (argc_ptr, argv_ptr) == 0) { if (next_arg (nmc->ask ? NULL : nmc, argc_ptr, argv_ptr) == 0) {
g_string_printf (nmc->return_text, _("Error: unknown extra argument: '%s'."), *argv); g_string_printf (nmc->return_text, _("Error: unknown extra argument: '%s'."), *argv);
nmc->return_value = NMC_RESULT_ERROR_USER_INPUT; nmc->return_value = NMC_RESULT_ERROR_USER_INPUT;
goto finish; goto finish;

View file

@ -613,7 +613,7 @@ get_device_list (NmCli *nmc, int argc, char **argv)
} }
/* Take next argument */ /* Take next argument */
next_arg (&arg_num, &arg_ptr); next_arg (nmc->ask ? NULL : nmc, &arg_num, &arg_ptr);
} }
g_free (devices); g_free (devices);
@ -642,7 +642,7 @@ get_device (NmCli *nmc, int *argc, char ***argv, GError **error)
} }
} else { } else {
ifname = **argv; ifname = **argv;
next_arg (argc, argv); next_arg (nmc, argc, argv);
} }
devices = nmc_get_devices_sorted (nmc->client); devices = nmc_get_devices_sorted (nmc->client);
@ -1496,7 +1496,7 @@ do_devices_status (NmCli *nmc, int argc, char **argv)
while (argc > 0) { while (argc > 0) {
g_printerr (_("Unknown parameter: %s\n"), *argv); g_printerr (_("Unknown parameter: %s\n"), *argv);
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} }
if (!nmc->required_fields || strcasecmp (nmc->required_fields, "common") == 0) if (!nmc->required_fields || strcasecmp (nmc->required_fields, "common") == 0)
@ -2289,7 +2289,7 @@ do_device_set (NmCli *nmc, int argc, char **argv)
gs_free_error GError *error = NULL; gs_free_error GError *error = NULL;
if (argc >= 1 && g_strcmp0 (*argv, "ifname") == 0) { if (argc >= 1 && g_strcmp0 (*argv, "ifname") == 0) {
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} }
device = get_device (nmc, &argc, &argv, &error); device = get_device (nmc, &argc, &argv, &error);
@ -2348,7 +2348,7 @@ do_device_set (NmCli *nmc, int argc, char **argv)
g_string_printf (nmc->return_text, _("Error: property '%s' is not known."), *argv); g_string_printf (nmc->return_text, _("Error: property '%s' is not known."), *argv);
return NMC_RESULT_ERROR_USER_INPUT; return NMC_RESULT_ERROR_USER_INPUT;
} }
} while (next_arg (&argc, &argv) == 0); } while (next_arg (nmc, &argc, &argv) == 0);
if (nmc->complete) if (nmc->complete)
return nmc->return_value; return nmc->return_value;
@ -2657,7 +2657,7 @@ do_device_wifi_list (NmCli *nmc, int argc, char **argv)
g_printerr (_("Unknown parameter: %s\n"), *argv); g_printerr (_("Unknown parameter: %s\n"), *argv);
} }
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} }
if (!nmc->required_fields || strcasecmp (nmc->required_fields, "common") == 0) if (!nmc->required_fields || strcasecmp (nmc->required_fields, "common") == 0)
@ -2854,7 +2854,7 @@ do_device_wifi_connect_network (NmCli *nmc, int argc, char **argv)
if (argc == 1 && nmc->complete) if (argc == 1 && nmc->complete)
complete_aps (devices, NULL, param_user, param_user); complete_aps (devices, NULL, param_user, param_user);
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} else { } else {
/* nmc_do_cmd() should not call this with argc=0. */ /* nmc_do_cmd() should not call this with argc=0. */
g_assert (!nmc->complete); g_assert (!nmc->complete);
@ -2981,7 +2981,7 @@ do_device_wifi_connect_network (NmCli *nmc, int argc, char **argv)
g_printerr (_("Unknown parameter: %s\n"), *argv); g_printerr (_("Unknown parameter: %s\n"), *argv);
} }
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} }
if (nmc->complete) if (nmc->complete)
@ -3408,7 +3408,7 @@ do_device_wifi_hotspot (NmCli *nmc, int argc, char **argv)
return NMC_RESULT_ERROR_USER_INPUT; return NMC_RESULT_ERROR_USER_INPUT;
} }
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} }
show_password = nmc->show_secrets || show_password; show_password = nmc->show_secrets || show_password;
@ -3587,7 +3587,7 @@ do_device_wifi_rescan (NmCli *nmc, int argc, char **argv)
} else if (!nmc->complete) } else if (!nmc->complete)
g_printerr (_("Unknown parameter: %s\n"), *argv); g_printerr (_("Unknown parameter: %s\n"), *argv);
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} }
if (nmc->complete) if (nmc->complete)
@ -3761,7 +3761,7 @@ do_device_lldp_list (NmCli *nmc, int argc, char **argv)
return NMC_RESULT_ERROR_USER_INPUT; return NMC_RESULT_ERROR_USER_INPUT;
} }
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} }
if (!nmc->required_fields || strcasecmp (nmc->required_fields, "common") == 0) if (!nmc->required_fields || strcasecmp (nmc->required_fields, "common") == 0)

View file

@ -687,7 +687,7 @@ do_general_logging (NmCli *nmc, int argc, char **argv)
g_string_printf (nmc->return_text, _("Error: property '%s' is not known."), *argv); g_string_printf (nmc->return_text, _("Error: property '%s' is not known."), *argv);
return NMC_RESULT_ERROR_USER_INPUT; return NMC_RESULT_ERROR_USER_INPUT;
} }
} while (next_arg (&argc, &argv) == 0); } while (next_arg (nmc, &argc, &argv) == 0);
if (nmc->complete) if (nmc->complete)
return nmc->return_value; return nmc->return_value;
@ -737,7 +737,7 @@ do_general_hostname (NmCli *nmc, int argc, char **argv)
/* hostname provided -> set it */ /* hostname provided -> set it */
const char *hostname = *argv; const char *hostname = *argv;
if (next_arg (&argc, &argv) == 0) if (next_arg (nmc, &argc, &argv) == 0)
g_print ("Warning: ignoring extra garbage after '%s' hostname\n", hostname); g_print ("Warning: ignoring extra garbage after '%s' hostname\n", hostname);
nmc->should_wait++; nmc->should_wait++;

View file

@ -219,9 +219,9 @@ process_command_line (NmCli *nmc, int argc, char **argv)
if (argc > 1 && nm_streq (argv[1], "--complete-args")) { if (argc > 1 && nm_streq (argv[1], "--complete-args")) {
nmc->complete = TRUE; nmc->complete = TRUE;
argv[1] = argv[0]; argv[1] = argv[0];
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} }
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
/* parse options */ /* parse options */
while (argc) { while (argc) {
@ -239,7 +239,7 @@ process_command_line (NmCli *nmc, int argc, char **argv)
opt++; opt++;
/* '--' ends options */ /* '--' ends options */
if (opt[1] == '\0') { if (opt[1] == '\0') {
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
break; break;
} }
} }
@ -393,7 +393,7 @@ process_command_line (NmCli *nmc, int argc, char **argv)
nmc->return_value = NMC_RESULT_ERROR_USER_INPUT; nmc->return_value = NMC_RESULT_ERROR_USER_INPUT;
return FALSE; return FALSE;
} }
next_arg (&argc, &argv); next_arg (nmc, &argc, &argv);
} }
/* Now run the requested command */ /* Now run the requested command */

View file

@ -39,7 +39,7 @@ matches (const char *cmd, const char *pattern)
} }
int int
next_arg (int *argc, char ***argv) next_arg (NmCli *nmc, int *argc, char ***argv)
{ {
int arg_num = *argc; int arg_num = *argc;
@ -153,7 +153,7 @@ nmc_parse_args (nmc_arg_t *arg_arr, gboolean last, int *argc, char ***argv, GErr
return FALSE; return FALSE;
} }
next_arg (argc, argv); next_arg (NULL, argc, argv);
} }
return TRUE; return TRUE;

View file

@ -40,7 +40,7 @@ typedef enum {
/* === Functions === */ /* === Functions === */
gboolean matches (const char *cmd, const char *pattern); gboolean matches (const char *cmd, const char *pattern);
int next_arg (int *argc, char ***argv); int next_arg (NmCli *nmc, int *argc, char ***argv);
gboolean nmc_arg_is_help (const char *arg); gboolean nmc_arg_is_help (const char *arg);
gboolean nmc_arg_is_option (const char *arg, const char *opt_name); gboolean nmc_arg_is_option (const char *arg, const char *opt_name);
gboolean nmc_parse_args (nmc_arg_t *arg_arr, gboolean last, int *argc, char ***argv, GError **error); gboolean nmc_parse_args (nmc_arg_t *arg_arr, gboolean last, int *argc, char ***argv, GError **error);