- removed warnings "xxxxx" might be used uninitialized in this function (arm_simulator.c)
[openocd.git] / src / helper / options.c
index 89bf1f9b24e32530f839a1af29c0337d78d33aaa..23b0a63707b149dc058d805919a57b121701d3ce 100644 (file)
 #include <getopt.h>
 #include <string.h>
 
-
-static int help_flag;
+static int help_flag, version_flag;
 
 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}
 };
 
-
-
 int configuration_output_handler(struct command_context_s *context, char* line)
 {
-       INFO(line);
+       INFO_N(line);
 
        return ERROR_OK;
 }
 
-
 int parse_cmdline_args(struct command_context_s *cmd_ctx, int argc, char *argv[])
 {
        int c;
@@ -67,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;
                
-               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)
@@ -80,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 'v':       /* --version | -v */
+                               version_flag = 1;
+                               break;
                        case 'f':       /* --file | -f */
                                snprintf(command_buffer, 128, "script %s", optarg);
                                add_config_file_name(command_buffer);
@@ -113,16 +111,23 @@ int parse_cmdline_args(struct command_context_s *cmd_ctx, int argc, char *argv[]
 
        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("--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("--search     | -s\tdir to search for config files and scripts\n");
                OUTPUT("--debug      | -d\tset debug level <0-3>\n");
                OUTPUT("--log_output | -l\tredirect log output to file <name>\n");
                OUTPUT("--command    | -c\trun <command>\n");
                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.

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)