bugfix: 'init' changes state, not main()
authorDavid Brownell <dbrownell@users.sourceforge.net>
Sun, 29 Nov 2009 07:08:05 +0000 (23:08 -0800)
committerDavid Brownell <dbrownell@users.sourceforge.net>
Sun, 29 Nov 2009 07:11:31 +0000 (23:11 -0800)
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>
src/openocd.c

index 629d50ae890bff1d9f73298d250c6d423a1fd524..01e9e79cc8a2b8a18aadb9a9effce15fc96e8ee6 100644 (file)
@@ -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;