cli: add nmc_arg_is_help() and use it to save some code lines

This commit is contained in:
Jiří Klimeš
2013-04-18 11:25:49 +02:00
parent 83baf86a27
commit 7d5df73d76
5 changed files with 18 additions and 18 deletions

View File

@@ -1761,9 +1761,7 @@ parse_cmd (NmCli *nmc, int argc, char **argv)
else if (matches(*argv, "delete") == 0) { else if (matches(*argv, "delete") == 0) {
nmc->return_value = do_connection_delete (nmc, argc-1, argv+1); nmc->return_value = do_connection_delete (nmc, argc-1, argv+1);
} }
else if ( matches (*argv, "help") == 0 else if (nmc_arg_is_help (*argv)) {
|| (g_str_has_prefix (*argv, "-") && matches ((*argv)+1, "help") == 0)
|| (g_str_has_prefix (*argv, "--") && matches ((*argv)+2, "help") == 0)) {
usage (); usage ();
nmc->should_wait = FALSE; nmc->should_wait = FALSE;
} }

View File

@@ -2229,9 +2229,7 @@ do_devices (NmCli *nmc, int argc, char **argv)
nmc->return_value = do_device_wimax (nmc, argc-1, argv+1); nmc->return_value = do_device_wimax (nmc, argc-1, argv+1);
} }
#endif #endif
else if ( matches (*argv, "help") == 0 else if (nmc_arg_is_help (*argv)) {
|| (g_str_has_prefix (*argv, "-") && matches ((*argv)+1, "help") == 0)
|| (g_str_has_prefix (*argv, "--") && matches ((*argv)+2, "help") == 0)) {
usage (); usage ();
} }
else { else {

View File

@@ -542,9 +542,7 @@ do_general (NmCli *nmc, int argc, char **argv)
} }
} }
} }
else if ( matches (*argv, "help") == 0 else if (nmc_arg_is_help (*argv)) {
|| (g_str_has_prefix (*argv, "-") && matches ((*argv)+1, "help") == 0)
|| (g_str_has_prefix (*argv, "--") && matches ((*argv)+2, "help") == 0)) {
usage_general (); usage_general ();
} }
else { else {
@@ -611,9 +609,7 @@ do_networking (NmCli *nmc, int argc, char **argv)
if (argc == 0) if (argc == 0)
nmc_switch_show (nmc, NMC_FIELDS_NM_NETWORKING, _("Networking")); nmc_switch_show (nmc, NMC_FIELDS_NM_NETWORKING, _("Networking"));
else if (argc > 0) { else if (argc > 0) {
if ( matches (*argv, "help") == 0 if (nmc_arg_is_help (*argv)) {
|| (g_str_has_prefix (*argv, "-") && matches ((*argv)+1, "help") == 0)
|| (g_str_has_prefix (*argv, "--") && matches ((*argv)+2, "help") == 0)) {
usage_networking (); usage_networking ();
} else if (nmc_switch_parse_on_off (nmc, *(argv-1), *argv, &enable_flag)) { } else if (nmc_switch_parse_on_off (nmc, *(argv-1), *argv, &enable_flag)) {
@@ -708,9 +704,7 @@ do_radio (NmCli *nmc, int argc, char **argv)
} }
} }
#endif #endif
else if ( matches (*argv, "help") == 0 else if (nmc_arg_is_help (*argv)) {
|| (g_str_has_prefix (*argv, "-") && matches ((*argv)+1, "help") == 0)
|| (g_str_has_prefix (*argv, "--") && matches ((*argv)+2, "help") == 0)) {
usage_radio (); usage_radio ();
} }
else { else {
@@ -957,9 +951,7 @@ do_network_manager (NmCli *nmc, int argc, char **argv)
} }
} }
#endif #endif
else if ( matches (*argv, "help") == 0 else if (nmc_arg_is_help (*argv)) {
|| (g_str_has_prefix (*argv, "-") && matches ((*argv)+1, "help") == 0)
|| (g_str_has_prefix (*argv, "--") && matches ((*argv)+2, "help") == 0)) {
usage (); usage ();
} }
else { else {

View File

@@ -57,6 +57,17 @@ next_arg (int *argc, char ***argv)
return 0; return 0;
} }
gboolean
nmc_arg_is_help (const char *arg)
{
if ( matches (arg, "help") == 0
|| (g_str_has_prefix (arg, "-") && matches (arg+1, "help") == 0)
|| (g_str_has_prefix (arg, "--") && matches (arg+2, "help") == 0)) {
return TRUE;
}
return FALSE;
}
/* /*
* Helper function to parse command-line arguments. * Helper function to parse command-line arguments.
* arg_arr: description of arguments to look for * arg_arr: description of arguments to look for

View File

@@ -37,6 +37,7 @@ typedef struct {
/* === Functions === */ /* === Functions === */
int matches (const char *cmd, const char *pattern); int matches (const char *cmd, const char *pattern);
int next_arg (int *argc, char ***argv); int next_arg (int *argc, char ***argv);
gboolean nmc_arg_is_help (const char *arg);
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);
char *ssid_to_printable (const char *str, gsize len); char *ssid_to_printable (const char *str, gsize len);
char *nmc_ip4_address_as_string (guint32 ip, GError **error); char *nmc_ip4_address_as_string (guint32 ip, GError **error);