From 2df3c33d5d20074a4a9bc36253a788274c96bd4e Mon Sep 17 00:00:00 2001 From: Henrik Brautaset Aronsen Date: Wed, 29 May 2013 13:50:38 +0200 Subject: Add --help command line option Added a simple usage text on the command line. Also added a --verbose alias for completeness. Signed-off-by: Henrik Brautaset Aronsen Signed-off-by: Dirk Hohndel --- main.c | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/main.c b/main.c index 16d44d326..f02982289 100644 --- a/main.c +++ b/main.c @@ -87,27 +87,52 @@ const char *monthname(int mon) */ static gboolean imported = FALSE; +static void print_version() { + printf("Subsurface v%s, ", VERSION_STRING); + printf("built with libdivecomputer v%s\n", dc_version(NULL)); +} + +static void print_help() { + print_version(); + printf("\nUsage: subsurface [options] [logfile ...] [--import logfile ...]"); + printf("\n\noptions include:"); + printf("\n --help|-h This help text"); + printf("\n --import logfile ... Logs before this option is treated as base, everything after is imported"); + printf("\n --verbose|-v Verbose debug (repeat to increase verbosity)"); + printf("\n --version Prints current version\n\n"); +} + static void parse_argument(const char *arg) { const char *p = arg+1; do { switch (*p) { + case 'h': + print_help(); + exit(0); case 'v': verbose++; continue; case '-': /* long options with -- */ - if (strcmp(arg,"--import") == 0) { + if (strcmp(arg, "--help") == 0) { + print_help(); + exit(0); + } + if (strcmp(arg, "--import") == 0) { /* mark the dives so far as the base, * everything after is imported */ process_dives(FALSE, FALSE); imported = TRUE; return; } + if (strcmp(arg, "--verbose") == 0) { + verbose++; + return; + } if (strcmp(arg, "--version") == 0) { - printf("Subsurface v%s, ", VERSION_STRING); - printf("built with libdivecomputer v%s\n", dc_version(NULL)); + print_version(); exit(0); } /* fallthrough */ -- cgit v1.2.3-70-g09d2