X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fopenocd.c;h=6adbbc6198227bb2a680df1509690937cfb5cf2c;hb=d58229e73bf0fcb0da00c85985dd665fe4593fd4;hp=ccace082f39587a5d7322add926f9a8215cb0587;hpb=bdb5fd8c98ad474bf2ad790eefc62a830b33f0d4;p=fw%2Fopenocd diff --git a/src/openocd.c b/src/openocd.c index ccace082f..6adbbc619 100644 --- a/src/openocd.c +++ b/src/openocd.c @@ -5,6 +5,9 @@ * Copyright (C) 2007,2008 Øyvind Harboe * * oyvind.harboe@zylin.com * * * + * Copyright (C) 2008 Richard Missenden * + * richard.missenden@googlemail.com * + * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * @@ -60,6 +63,34 @@ #include "replacements.h" + + + + + +void print_version() +{ + /* DANGER!!! make sure that the line below does not appear in a patch, do not remove */ + /* DANGER!!! make sure that the line below does not appear in a patch, do not remove */ + /* DANGER!!! make sure that the line below does not appear in a patch, do not remove */ + /* DANGER!!! make sure that the line below does not appear in a patch, do not remove */ + /* DANGER!!! make sure that the line below does not appear in a patch, do not remove */ + LOG_OUTPUT( "$URL$\n"); + /* DANGER!!! make sure that the line above does not appear in a patch, do not remove */ + /* DANGER!!! make sure that the line above does not appear in a patch, do not remove */ + /* DANGER!!! make sure that the line above does not appear in a patch, do not remove */ + /* DANGER!!! make sure that the line above does not appear in a patch, do not remove */ + /* DANGER!!! make sure that the line above does not appear in a patch, do not remove */ +} + + + + + + + + + /* Give TELNET a way to find out what version this is */ int handle_version_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) { @@ -191,6 +222,8 @@ command_context_t *setup_command_handler(void) * application will have it's own implementation of main(). */ int openocd_main(int argc, char *argv[]) { + int ret; + /* initialize commandline interface */ command_context_t *cmd_ctx; @@ -198,33 +231,27 @@ int openocd_main(int argc, char *argv[]) LOG_OUTPUT( "\n\nBUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS\n\n\n"); - /* DANGER!!! make sure that the line below does not appear in a patch, do not remove */ - /* DANGER!!! make sure that the line below does not appear in a patch, do not remove */ - /* DANGER!!! make sure that the line below does not appear in a patch, do not remove */ - /* DANGER!!! make sure that the line below does not appear in a patch, do not remove */ - /* DANGER!!! make sure that the line below does not appear in a patch, do not remove */ - LOG_OUTPUT( "$URL$\n"); - /* DANGER!!! make sure that the line above does not appear in a patch, do not remove */ - /* DANGER!!! make sure that the line above does not appear in a patch, do not remove */ - /* DANGER!!! make sure that the line above does not appear in a patch, do not remove */ - /* DANGER!!! make sure that the line above does not appear in a patch, do not remove */ - /* DANGER!!! make sure that the line above does not appear in a patch, do not remove */ - + print_version(); + command_context_mode(cmd_ctx, COMMAND_CONFIG); command_set_output_handler(cmd_ctx, configuration_output_handler, NULL); if (parse_cmdline_args(cmd_ctx, argc, argv) != ERROR_OK) return EXIT_FAILURE; - if (parse_config_file(cmd_ctx) != ERROR_OK) + ret = parse_config_file(cmd_ctx); + if ( (ret != ERROR_OK) && (ret != ERROR_COMMAND_CLOSE_CONNECTION) ) return EXIT_FAILURE; - command_context_mode(cmd_ctx, COMMAND_EXEC); - if (command_run_line(cmd_ctx, "init")!=ERROR_OK) - return EXIT_FAILURE; + if (ret != ERROR_COMMAND_CLOSE_CONNECTION) + { + command_context_mode(cmd_ctx, COMMAND_EXEC); + if (command_run_line(cmd_ctx, "init")!=ERROR_OK) + return EXIT_FAILURE; - /* handle network connections */ - server_loop(cmd_ctx); + /* handle network connections */ + server_loop(cmd_ctx); + } /* shut server down */ server_quit();