diff options
-rw-r--r-- | src/main.c | 4 | ||||
-rw-r--r-- | src/mm-context.c | 19 | ||||
-rw-r--r-- | src/mm-context.h | 5 |
3 files changed, 24 insertions, 4 deletions
@@ -30,10 +30,6 @@ #include "mm-log.h" #include "mm-context.h" -#if !defined(MM_DIST_VERSION) -# define MM_DIST_VERSION VERSION -#endif - /* Maximum time to wait for all modems to get disabled and removed */ #define MAX_SHUTDOWN_TIME_SECS 20 diff --git a/src/mm-context.c b/src/mm-context.c index c02a4cf9..4f888518 100644 --- a/src/mm-context.c +++ b/src/mm-context.c @@ -20,6 +20,7 @@ /*****************************************************************************/ /* Application context */ +static gboolean version_flag; static gboolean debug; static const gchar *log_level; static const gchar *log_file; @@ -27,6 +28,7 @@ static gboolean show_ts; static gboolean rel_ts; static const GOptionEntry entries[] = { + { "version", 'V', 0, G_OPTION_ARG_NONE, &version_flag, "Print version", NULL }, { "debug", 0, 0, G_OPTION_ARG_NONE, &debug, "Run with extended debugging capabilities", NULL }, { "log-level", 0, 0, G_OPTION_ARG_STRING, &log_level, "Log level: one of [ERR, WARN, INFO, DEBUG]", "INFO" }, { "log-file", 0, 0, G_OPTION_ARG_STRING, &log_file, "Path to log file", NULL }, @@ -121,6 +123,19 @@ mm_context_get_test_plugin_dir (void) /*****************************************************************************/ +static void +print_version (void) +{ + g_print ("\n" + "ModemManager " MM_DIST_VERSION "\n" + "Copyright (2008 - 2014) The ModemManager authors\n" + "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>\n" + "This is free software: you are free to change and redistribute it.\n" + "There is NO WARRANTY, to the extent permitted by law.\n" + "\n"); + exit (EXIT_SUCCESS); +} + void mm_context_init (gint argc, gchar **argv) @@ -147,4 +162,8 @@ mm_context_init (gint argc, if (!show_ts && !rel_ts) show_ts = TRUE; } + + /* If just version requested, print and exit */ + if (version_flag) + print_version (); } diff --git a/src/mm-context.h b/src/mm-context.h index 727cbd7f..6627a601 100644 --- a/src/mm-context.h +++ b/src/mm-context.h @@ -16,8 +16,13 @@ #ifndef MM_CONTEXT_H #define MM_CONTEXT_H +#include <config.h> #include <glib.h> +#if !defined(MM_DIST_VERSION) +# define MM_DIST_VERSION VERSION +#endif + void mm_context_init (gint argc, gchar **argv); |