* ada-lang.c (ada_read_renaming_var_value): Pass const

pointer to expression string to parse_exp_1.
	(create_excep_cond_exprs): Likewise.
	* ax-gdb.c (agent_eval_command_one): Likewise.
	(maint_agent_printf_command): Likewise.
	Constify much of the string handling/parsing.
	* breakpoint.c (set_breakpoint_condition): Pass const
	pointer to expression string to parse_exp_1.
	(update_watchpoint): Likewise.
	(parse_cmd_to_aexpr): Constify string handling.
	Pass const pointer to parse_exp_1.
	(init_breakpoint_sal): Pass const pointer to parse_exp_1.
	(find_condition_and_thread): Likewise.
	Make TOK const.
	(watch_command_1): Make "arg" const.
	Constify string handling.
	Copy the expression string instead of changing the input
	string.
	(update_breakpoint_location): Pass const pointer to
	parse_exp_1.
	* eval.c (parse_and_eval_address): Make "exp" const.
	(parse_to_comma_and_eval): Make "expp" const.
	(parse_and_eval): Make "exp" const.
	* expression.h (parse_expression): Make argument const.
	(parse_exp_1): Make first argument const.
	* findcmd.c (parse_find_args): Treat "args" as const.
	* linespec.c (parse_linespec): Pass const pointer to
	linespec_expression_to_pc.
	(linespec_expression_to_pc): Make "exp_ptr" const.
	* parse.c (parse_exp_1): Make "stringptr" const.
	Make a copy of the expression to pass to parse_exp_in_context until
	this whole interface can be constified.
	(parse_expression): Make "string" const.
	* printcmd.c (ui_printf): Treat "arg" as const.
	Handle const strings.
	* tracepoint.c (validate_actionline): Pass const pointer to
	all calls to parse_exp_1.
	(encode_actions_1): Likewise.
	* value.h (parse_to_comma_and_eval): Make argument const.
	(parse_and_eval_address): Likewise.
	(parse_and_eval): Likewise.
	* varobj.c (varobj_create): Pass const pointer to parse_exp_1.
	(varobj_set_value): Likewise.
	* cli/cli-cmds.c (disassemble_command): Treat "arg" as const and
	constify string handling.
	Pass const pointers to parse_and_eval_address and
	parse_to_comman_and_eval.
	* cli/cli-utils.c (skip_to_space): Rename to ...
	(skip_to_space_const): ... this. Handle const strings.
	* cli/cli-utils.h (skip_to_space): Turn into macro which invokes
	skip_to_space_const.
	(skip_to_space_const): Declare.
	* common/format.c (parse_format_string): Make "arg" const.
	Handle const strings.
	* common/format.h (parse_format_string): Make "arg" const.
	* gdbserver/ax.c (ax_printf): Make "format" const.
	* python/python.c (gdbpy_parse_and_eval): Do not make a copy
	of the expression string.
This commit is contained in:
Keith Seitz
2013-03-12 17:39:45 +00:00
parent f3cec7e61f
commit bbc13ae3db
20 changed files with 207 additions and 109 deletions

View File

@ -1113,20 +1113,22 @@ disassemble_command (char *arg, int from_tty)
const char *name;
CORE_ADDR pc;
int flags;
const char *p;
p = arg;
name = NULL;
flags = 0;
if (arg && *arg == '/')
if (p && *p == '/')
{
++arg;
++p;
if (*arg == '\0')
if (*p == '\0')
error (_("Missing modifier."));
while (*arg && ! isspace (*arg))
while (*p && ! isspace (*p))
{
switch (*arg++)
switch (*p++)
{
case 'm':
flags |= DISASSEMBLY_SOURCE;
@ -1139,20 +1141,20 @@ disassemble_command (char *arg, int from_tty)
}
}
arg = skip_spaces (arg);
p = skip_spaces_const (p);
}
if (! arg || ! *arg)
if (! p || ! *p)
{
flags |= DISASSEMBLY_OMIT_FNAME;
disassemble_current_function (flags);
return;
}
pc = value_as_address (parse_to_comma_and_eval (&arg));
if (arg[0] == ',')
++arg;
if (arg[0] == '\0')
pc = value_as_address (parse_to_comma_and_eval (&p));
if (p[0] == ',')
++p;
if (p[0] == '\0')
{
/* One argument. */
if (find_pc_partial_function (pc, &name, &low, &high) == 0)
@ -1172,13 +1174,13 @@ disassemble_command (char *arg, int from_tty)
/* Two arguments. */
int incl_flag = 0;
low = pc;
arg = skip_spaces (arg);
if (arg[0] == '+')
p = skip_spaces_const (p);
if (p[0] == '+')
{
++arg;
++p;
incl_flag = 1;
}
high = parse_and_eval_address (arg);
high = parse_and_eval_address (p);
if (incl_flag)
high += low;
}

View File

@ -237,8 +237,8 @@ skip_spaces_const (const char *chp)
/* See documentation in cli-utils.h. */
char *
skip_to_space (char *chp)
const char *
skip_to_space_const (const char *chp)
{
if (chp == NULL)
return NULL;

View File

@ -101,7 +101,11 @@ extern const char *skip_spaces_const (const char *inp);
/* Skip leading non-whitespace characters in INP, returning an updated
pointer. If INP is NULL, return NULL. */
extern char *skip_to_space (char *inp);
#define skip_to_space(INP) ((char *) skip_to_space_const (INP))
/* A const-correct version of the above. */
extern const char *skip_to_space_const (const char *inp);
/* Reverse S to the last non-whitespace character without skipping past
START. */