forked from Imagelibrary/binutils-gdb
Constify execute_command
This constifies execute_command and fixes up the callers. gdb/ChangeLog 2017-11-07 Tom Tromey <tom@tromey.com> * event-top.h (command_handler): Constify. * record-full.c (cmd_record_full_start): Update. * thread.c (thread_apply_all_command): Update. * printcmd.c (eval_command): Update. * mi/mi-main.c (mi_execute_cli_command): Update. (mi_execute_async_cli_command): Update. * tui/tui-stack.c (tui_update_command): Update. * cli/cli-interp.c (safe_execute_command): Constify. * record.c (record_start): Update. (record_start, record_stop, cmd_record_start): Update. * record-btrace.c (cmd_record_btrace_bts_start): Update. (cmd_record_btrace_pt_start): Update. (cmd_record_btrace_start): Update. (cmd_record_btrace_start): Update. * reverse.c (exec_reverse_once): Update. * python/python.c (execute_gdb_command): Don't copy the command. * event-top.c (command_line_handler): Update. (command_handler): Constify. * defs.h (deprecated_call_command_hook): Constify. * cli/cli-script.h (execute_user_command): Constify. * cli/cli-script.c (execute_user_command): Constify. (execute_cmd_pre_hook, execute_cmd_post_hook): Constify. (enum command_control_type): Update. * main.c (catch_command_errors): Remove non-const overload. (catch_command_errors_ftype): Remove. * python/py-cmd.c (cmdpy_function): Constify. * guile/scm-cmd.c (cmdscm_function): Constify. * cli/cli-dump.c (call_dump_func): Constify. * cli/cli-decode.c (do_const_cfunc): Constify. (do_sfunc): Constify. (cmd_func): Constify. * gdbcmd.h (execute_command, execute_command_to_string): Constify. * top.h (execute_command): Constify. * top.c (execute_command): Constify. (execute_command_to_string): Constify. (deprecated_call_command_hook): Constify. * command.h (cmd_func): Constify. * cli/cli-decode.h (struct cmd_list_element) <func>: Constify.
This commit is contained in:
@@ -101,7 +101,7 @@ print_help_for_command (struct cmd_list_element *c, const char *prefix,
|
||||
bounce function (unless cfunc / sfunc is NULL that is). */
|
||||
|
||||
static void
|
||||
do_const_cfunc (struct cmd_list_element *c, char *args, int from_tty)
|
||||
do_const_cfunc (struct cmd_list_element *c, const char *args, int from_tty)
|
||||
{
|
||||
c->function.const_cfunc (args, from_tty);
|
||||
}
|
||||
@@ -117,7 +117,7 @@ set_cmd_cfunc (struct cmd_list_element *cmd, cmd_const_cfunc_ftype *cfunc)
|
||||
}
|
||||
|
||||
static void
|
||||
do_sfunc (struct cmd_list_element *c, char *args, int from_tty)
|
||||
do_sfunc (struct cmd_list_element *c, const char *args, int from_tty)
|
||||
{
|
||||
c->function.sfunc (args, from_tty, c);
|
||||
}
|
||||
@@ -1909,7 +1909,7 @@ cmd_func_p (struct cmd_list_element *cmd)
|
||||
|
||||
/* Call the command function. */
|
||||
void
|
||||
cmd_func (struct cmd_list_element *cmd, char *args, int from_tty)
|
||||
cmd_func (struct cmd_list_element *cmd, const char *args, int from_tty)
|
||||
{
|
||||
if (cmd_func_p (cmd))
|
||||
{
|
||||
|
||||
@@ -107,7 +107,7 @@ struct cmd_list_element
|
||||
cagney/2002-02-02: This function signature is evolving. For
|
||||
the moment suggest sticking with either set_cmd_cfunc() or
|
||||
set_cmd_sfunc(). */
|
||||
void (*func) (struct cmd_list_element *c, char *args, int from_tty);
|
||||
void (*func) (struct cmd_list_element *c, const char *args, int from_tty);
|
||||
/* The command's real callback. At present func() bounces through
|
||||
to one of the below. */
|
||||
union
|
||||
|
||||
@@ -344,7 +344,7 @@ struct dump_context
|
||||
};
|
||||
|
||||
static void
|
||||
call_dump_func (struct cmd_list_element *c, char *args, int from_tty)
|
||||
call_dump_func (struct cmd_list_element *c, const char *args, int from_tty)
|
||||
{
|
||||
struct dump_context *d = (struct dump_context *) get_cmd_context (c);
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ as_cli_interp (struct interp *interp)
|
||||
|
||||
/* Longjmp-safe wrapper for "execute_command". */
|
||||
static struct gdb_exception safe_execute_command (struct ui_out *uiout,
|
||||
char *command,
|
||||
const char *command,
|
||||
int from_tty);
|
||||
|
||||
/* See cli-interp.h.
|
||||
@@ -332,11 +332,6 @@ cli_interp::exec (const char *command_str)
|
||||
struct ui_file *old_stream;
|
||||
struct gdb_exception result;
|
||||
|
||||
/* FIXME: cagney/2003-02-01: Need to const char *propogate
|
||||
safe_execute_command. */
|
||||
char *str = (char *) alloca (strlen (command_str) + 1);
|
||||
strcpy (str, command_str);
|
||||
|
||||
/* gdb_stdout could change between the time cli_uiout was
|
||||
initialized and now. Since we're probably using a different
|
||||
interpreter which has a new ui_file for gdb_stdout, use that one
|
||||
@@ -345,7 +340,7 @@ cli_interp::exec (const char *command_str)
|
||||
It is important that it gets reset everytime, since the user
|
||||
could set gdb to use a different interpreter. */
|
||||
old_stream = cli->cli_uiout->set_stream (gdb_stdout);
|
||||
result = safe_execute_command (cli->cli_uiout, str, 1);
|
||||
result = safe_execute_command (cli->cli_uiout, command_str, 1);
|
||||
cli->cli_uiout->set_stream (old_stream);
|
||||
return result;
|
||||
}
|
||||
@@ -357,7 +352,8 @@ cli_interp_base::supports_command_editing ()
|
||||
}
|
||||
|
||||
static struct gdb_exception
|
||||
safe_execute_command (struct ui_out *command_uiout, char *command, int from_tty)
|
||||
safe_execute_command (struct ui_out *command_uiout, const char *command,
|
||||
int from_tty)
|
||||
{
|
||||
struct gdb_exception e = exception_none;
|
||||
struct ui_out *saved_uiout;
|
||||
|
||||
@@ -369,7 +369,7 @@ execute_cmd_pre_hook (struct cmd_list_element *c)
|
||||
{
|
||||
scoped_restore_hook_in restore_hook (c);
|
||||
c->hook_in = 1; /* Prevent recursive hooking. */
|
||||
execute_user_command (c->hook_pre, (char *) 0);
|
||||
execute_user_command (c->hook_pre, nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -380,12 +380,12 @@ execute_cmd_post_hook (struct cmd_list_element *c)
|
||||
{
|
||||
scoped_restore_hook_in restore_hook (c);
|
||||
c->hook_in = 1; /* Prevent recursive hooking. */
|
||||
execute_user_command (c->hook_post, (char *) 0);
|
||||
execute_user_command (c->hook_post, nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
execute_user_command (struct cmd_list_element *c, char *args)
|
||||
execute_user_command (struct cmd_list_element *c, const char *args)
|
||||
{
|
||||
struct ui *ui = current_ui;
|
||||
struct command_line *cmdlines;
|
||||
@@ -484,7 +484,7 @@ execute_control_command_1 (struct command_line *cmd)
|
||||
{
|
||||
/* A simple command, execute it and return. */
|
||||
std::string new_line = insert_user_defined_cmd_args (cmd->line);
|
||||
execute_command (&new_line[0], 0);
|
||||
execute_command (new_line.c_str (), 0);
|
||||
ret = cmd->control_type;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -122,7 +122,7 @@ extern command_line_up copy_command_lines (struct command_line *cmds);
|
||||
|
||||
/* Exported to gdb/infrun.c */
|
||||
|
||||
extern void execute_user_command (struct cmd_list_element *c, char *args);
|
||||
extern void execute_user_command (struct cmd_list_element *c, const char *args);
|
||||
|
||||
/* If we're in a user-defined command, replace any $argc/$argN
|
||||
reference found in LINE with the arguments that were passed to the
|
||||
|
||||
Reference in New Issue
Block a user