diff options
-rw-r--r-- | cli/mmcli-modem.c | 17 | ||||
-rw-r--r-- | cli/mmcli.c | 5 |
2 files changed, 13 insertions, 9 deletions
diff --git a/cli/mmcli-modem.c b/cli/mmcli-modem.c index 51c942db..ce507af0 100644 --- a/cli/mmcli-modem.c +++ b/cli/mmcli-modem.c @@ -43,7 +43,7 @@ static Context *ctx; /* Options */ static gchar *modem_str; -static gboolean info_flag; +static gboolean info_flag; /* set when no action found */ static gboolean monitor_state_flag; static gboolean enable_flag; static gboolean disable_flag; @@ -55,11 +55,7 @@ static gchar *delete_bearer_str; static GOptionEntry entries[] = { { "modem", 'm', 0, G_OPTION_ARG_STRING, &modem_str, - "Specify modem by path or index", - NULL - }, - { "info", 'i', 0, G_OPTION_ARG_NONE, &info_flag, - "Get information of a given modem", + "Specify modem by path or index. Shows modem information if no action specified.", NULL }, { "monitor-state", 'w', 0, G_OPTION_ARG_NONE, &monitor_state_flag, @@ -118,8 +114,7 @@ mmcli_modem_options_enabled (void) { guint n_actions; - n_actions = (info_flag + - monitor_state_flag + + n_actions = (monitor_state_flag + enable_flag + disable_flag + reset_flag + @@ -128,6 +123,12 @@ mmcli_modem_options_enabled (void) !!delete_bearer_str + !!factory_reset_str); + if (n_actions == 0 && modem_str) { + /* default to info */ + info_flag = TRUE; + n_actions++; + } + if (n_actions > 1) { g_printerr ("error: too many modem actions requested\n"); exit (EXIT_FAILURE); diff --git a/cli/mmcli.c b/cli/mmcli.c index 49c7cab5..1bd7300c 100644 --- a/cli/mmcli.c +++ b/cli/mmcli.c @@ -220,7 +220,10 @@ main (gint argc, gchar **argv) else mmcli_manager_run_synchronous (connection); } - /* Modem options? */ + /* Modem options? + * NOTE: let this check be always the last one, as other groups also need + * having a modem specified, and therefore if -m is set, modem options + * are always enabled. */ else if (mmcli_modem_options_enabled ()) { if (async_flag) mmcli_modem_run_asynchronous (connection, cancellable); |