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 <dbrownell@users.sourceforge.net>
__archive__
David Brownell 2009-11-28 23:08:05 -08:00
parent b0858e89c7
commit 3debd59c5e
1 changed files with 2 additions and 1 deletions

View File

@ -109,6 +109,8 @@ COMMAND_HANDLER(handle_init_command)
atexit(exit_handler); atexit(exit_handler);
command_context_mode(CMD_CTX, COMMAND_EXEC);
if (target_init(CMD_CTX) != ERROR_OK) if (target_init(CMD_CTX) != ERROR_OK)
return ERROR_FAIL; return ERROR_FAIL;
LOG_DEBUG("target init complete"); LOG_DEBUG("target init complete");
@ -267,7 +269,6 @@ int openocd_main(int argc, char *argv[])
if (ret != ERROR_COMMAND_CLOSE_CONNECTION) if (ret != ERROR_COMMAND_CLOSE_CONNECTION)
{ {
command_context_mode(cmd_ctx, COMMAND_EXEC);
if (command_run_line(cmd_ctx, "init") != ERROR_OK) if (command_run_line(cmd_ctx, "init") != ERROR_OK)
return EXIT_FAILURE; return EXIT_FAILURE;