diff options
author | Andrew Cagney <cagney@redhat.com> | 2005-02-21 03:59:23 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2005-02-21 03:59:23 +0000 |
commit | 78f5381d69fee5c3fc74a2358267b425190cad54 (patch) | |
tree | 31e92291ef8b794d8ea14505706ade05ee070c07 /gdb/mi/mi-main.c | |
parent | b4b4ac0b71ae756aa805f15a6f9b0c5b79d8f398 (diff) | |
download | gdb-78f5381d69fee5c3fc74a2358267b425190cad54.zip gdb-78f5381d69fee5c3fc74a2358267b425190cad54.tar.gz gdb-78f5381d69fee5c3fc74a2358267b425190cad54.tar.bz2 |
2005-02-20 Andrew Cagney <cagney@gnu.org>
* mi/mi-main.c (captured_mi_execute_command): Use
mi_cmd_interpreter_exec.
Diffstat (limited to 'gdb/mi/mi-main.c')
-rw-r--r-- | gdb/mi/mi-main.c | 54 |
1 files changed, 30 insertions, 24 deletions
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index cbfd2fe..27080df 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -1103,30 +1103,36 @@ captured_mi_execute_command (struct ui_out *uiout, void *data) break; case CLI_COMMAND: - /* A CLI command was read from the input stream */ - /* This will be removed as soon as we have a complete set of - mi commands */ - /* echo the command on the console. */ - fprintf_unfiltered (gdb_stdlog, "%s\n", context->command); - mi_execute_cli_command (context->command, 0, NULL); - - /* If we changed interpreters, DON'T print out anything. */ - if (current_interp_named_p (INTERP_MI) - || current_interp_named_p (INTERP_MI1) - || current_interp_named_p (INTERP_MI2) - || current_interp_named_p (INTERP_MI3)) - { - /* print the result */ - /* FIXME: Check for errors here. */ - fputs_unfiltered (context->token, raw_stdout); - fputs_unfiltered ("^done", raw_stdout); - mi_out_put (uiout, raw_stdout); - mi_out_rewind (uiout); - fputs_unfiltered ("\n", raw_stdout); - args->action = EXECUTE_COMMAND_DISPLAY_PROMPT; - args->rc = MI_CMD_DONE; - } - break; + { + char *argv[2]; + /* A CLI command was read from the input stream. */ + /* This "feature" will be removed as soon as we have a + complete set of mi commands. */ + /* Echo the command on the console. */ + fprintf_unfiltered (gdb_stdlog, "%s\n", context->command); + /* Call the "console" interpreter. */ + argv[0] = "console"; + argv[1] = context->command; + mi_cmd_interpreter_exec ("-interpreter-exec", argv, 2); + + /* If we changed interpreters, DON'T print out anything. */ + if (current_interp_named_p (INTERP_MI) + || current_interp_named_p (INTERP_MI1) + || current_interp_named_p (INTERP_MI2) + || current_interp_named_p (INTERP_MI3)) + { + /* print the result */ + /* FIXME: Check for errors here. */ + fputs_unfiltered (context->token, raw_stdout); + fputs_unfiltered ("^done", raw_stdout); + mi_out_put (uiout, raw_stdout); + mi_out_rewind (uiout); + fputs_unfiltered ("\n", raw_stdout); + args->action = EXECUTE_COMMAND_DISPLAY_PROMPT; + args->rc = MI_CMD_DONE; + } + break; + } } |