From: David Brownell Date: Sun, 29 Nov 2009 07:08:05 +0000 (-0800) Subject: bugfix: 'init' changes state, not main() X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=3debd59c5ec2a91146e1d2781bedf2ab36ee0c6c;p=fw%2Fopenocd bugfix: 'init' changes state, not main() Code other than main() may invoke "init". When it does so, customized handlers may need to run ... so make sure the command context state is updated before they do so. Signed-off-by: David Brownell --- diff --git a/src/openocd.c b/src/openocd.c index 629d50ae8..01e9e79cc 100644 --- a/src/openocd.c +++ b/src/openocd.c @@ -109,6 +109,8 @@ COMMAND_HANDLER(handle_init_command) atexit(exit_handler); + command_context_mode(CMD_CTX, COMMAND_EXEC); + if (target_init(CMD_CTX) != ERROR_OK) return ERROR_FAIL; LOG_DEBUG("target init complete"); @@ -267,7 +269,6 @@ int openocd_main(int argc, char *argv[]) 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;