Uwe Hermann: Add a --version switch for openocd.
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Fri, 29 Feb 2008 14:34:17 +0000 (14:34 +0000)
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Fri, 29 Feb 2008 14:34:17 +0000 (14:34 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@399 b42882b7-edfa-0310-969c-e2dbd0fdcd60

doc/openocd.1
src/helper/options.c

index f4ba7d96bf5618ce00be0b1c8757678217aef508..cfb99af9c3ba67fa67ccd39607680a73f0bfe3b9 100644 (file)
@@ -3,7 +3,7 @@
 openocd \- A free and open on\-chip debugging, in\-system programming and
 boundary\-scan testing tool for ARM systems
 .SH "SYNOPSIS"
 openocd \- A free and open on\-chip debugging, in\-system programming and
 boundary\-scan testing tool for ARM systems
 .SH "SYNOPSIS"
-.B openocd \fR[\fB\-fsdlch\fR] [\fB\-\-file\fR <filename>] [\fB\-\-search\fR <dirname>] [\fB\-\-debug\fR <debuglevel>] [\fB\-\-log_output\fR <filename>] [\fB\-\-command\fR <cmd>] [\fB\-\-help\fR]
+.B openocd \fR[\fB\-fsdlchv\fR] [\fB\-\-file\fR <filename>] [\fB\-\-search\fR <dirname>] [\fB\-\-debug\fR <debuglevel>] [\fB\-\-log_output\fR <filename>] [\fB\-\-command\fR <cmd>] [\fB\-\-help\fR] [\fB\-\-version\fR]
 .SH "DESCRIPTION"
 .B OpenOCD
 is an on\-chip debugging, in\-system programming and boundary\-scan
 .SH "DESCRIPTION"
 .B OpenOCD
 is an on\-chip debugging, in\-system programming and boundary\-scan
@@ -60,9 +60,9 @@ Run the command
 .TP 
 .B "\-h, \-\-help"
 Show a help text and exit.
 .TP 
 .B "\-h, \-\-help"
 Show a help text and exit.
-.\".TP 
-.\".B "\-v, \-\-version"
-.\"Show version information and exit.
+.TP 
+.B "\-v, \-\-version"
+Show version information and exit.
 .SH "BUGS"
 Please report any bugs at
 .B http://developer.berlios.de/bugs/?group_id=4148
 .SH "BUGS"
 Please report any bugs at
 .B http://developer.berlios.de/bugs/?group_id=4148
index 35ab0f5dfdc0e0308e2877397f6511034ecb1591..b037a5eda55b9475ae817accc662ce7e473e755a 100644 (file)
 #include <getopt.h>
 #include <string.h>
 
 #include <getopt.h>
 #include <string.h>
 
-static int help_flag;
+static int help_flag, version_flag;
 
 static struct option long_options[] =
 {
 
 static struct option long_options[] =
 {
-       {"help",                        no_argument,    &help_flag, 1},
-
-       {"debug",                       optional_argument,      0, 'd'},
-       {"file",                        required_argument,      0, 'f'},
-       {"search",                      required_argument,      0, 's'},
-       {"log_output",          required_argument,      0, 'l'},
-       {"command",                     required_argument,      0, 'c'},
-       
+       {"help",        no_argument,            &help_flag,     1},
+       {"version",     no_argument,            &version_flag,  1},
+       {"debug",       optional_argument,      0,              'd'},
+       {"file",        required_argument,      0,              'f'},
+       {"search",      required_argument,      0,              's'},
+       {"log_output",  required_argument,      0,              'l'},
+       {"command",     required_argument,      0,              'c'},
        {0, 0, 0, 0}
 };
 
        {0, 0, 0, 0}
 };
 
@@ -63,7 +62,7 @@ int parse_cmdline_args(struct command_context_s *cmd_ctx, int argc, char *argv[]
                /* getopt_long stores the option index here. */
                int option_index = 0;
                
                /* getopt_long stores the option index here. */
                int option_index = 0;
                
-               c = getopt_long(argc, argv, "hd::l:f:s:c:", long_options, &option_index);
+               c = getopt_long(argc, argv, "hvd::l:f:s:c:", long_options, &option_index);
                
                /* Detect the end of the options. */
                if (c == -1)
                
                /* Detect the end of the options. */
                if (c == -1)
@@ -76,6 +75,9 @@ int parse_cmdline_args(struct command_context_s *cmd_ctx, int argc, char *argv[]
                        case 'h':       /* --help | -h */
                                help_flag = 1;
                                break;
                        case 'h':       /* --help | -h */
                                help_flag = 1;
                                break;
+                       case 'v':       /* --version | -v */
+                               version_flag = 1;
+                               break;
                        case 'f':       /* --file | -f */
                                snprintf(command_buffer, 128, "script %s", optarg);
                                add_config_file_name(command_buffer);
                        case 'f':       /* --file | -f */
                                snprintf(command_buffer, 128, "script %s", optarg);
                                add_config_file_name(command_buffer);
@@ -109,8 +111,9 @@ int parse_cmdline_args(struct command_context_s *cmd_ctx, int argc, char *argv[]
 
        if (help_flag)
        {
 
        if (help_flag)
        {
-               OUTPUT("Open On-Chip Debugger\n(c) 2005 by Dominic Rath\n\n");
+               OUTPUT("Open On-Chip Debugger\n(c) 2005-2008 by Dominic Rath\n\n");
                OUTPUT("--help       | -h\tdisplay this help\n");
                OUTPUT("--help       | -h\tdisplay this help\n");
+               OUTPUT("--version    | -v\tdisplay OpenOCD version\n");
                OUTPUT("--file       | -f\tuse configuration file <name>\n");
                OUTPUT("--search     | -s\tdir to search for config files and scripts.\n");
                OUTPUT("--debug      | -d\tset debug level <0-3>\n");
                OUTPUT("--file       | -f\tuse configuration file <name>\n");
                OUTPUT("--search     | -s\tdir to search for config files and scripts.\n");
                OUTPUT("--debug      | -d\tset debug level <0-3>\n");
@@ -119,6 +122,12 @@ int parse_cmdline_args(struct command_context_s *cmd_ctx, int argc, char *argv[]
                exit(-1);
        }       
 
                exit(-1);
        }       
 
+       if (version_flag)
+       {
+               /* Nothing to do, version gets printed automatically. */
+               exit(-1);
+       }       
+
 #ifdef _WIN32
        /* Add the parent of the directory where openocd.exe resides to the
         * config script search path.
 #ifdef _WIN32
        /* Add the parent of the directory where openocd.exe resides to the
         * config script search path.

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)