diff options
author | Keith Seitz <keiths@redhat.com> | 2013-03-12 17:39:45 +0000 |
---|---|---|
committer | Keith Seitz <keiths@redhat.com> | 2013-03-12 17:39:45 +0000 |
commit | bbc13ae3db19a3276ba029c838682f81d10f859a (patch) | |
tree | 6f945cef75dd5228c35ff9a554d1d99b28f18d31 /gdb/cli | |
parent | f3cec7e61fc4cf16cf150f9e967e6fc9dbbd7207 (diff) | |
download | gdb-bbc13ae3db19a3276ba029c838682f81d10f859a.zip gdb-bbc13ae3db19a3276ba029c838682f81d10f859a.tar.gz gdb-bbc13ae3db19a3276ba029c838682f81d10f859a.tar.bz2 |
* 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.
Diffstat (limited to 'gdb/cli')
-rw-r--r-- | gdb/cli/cli-cmds.c | 32 | ||||
-rw-r--r-- | gdb/cli/cli-utils.c | 4 | ||||
-rw-r--r-- | gdb/cli/cli-utils.h | 6 |
3 files changed, 24 insertions, 18 deletions
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c index 0d37d57..77da738 100644 --- a/gdb/cli/cli-cmds.c +++ b/gdb/cli/cli-cmds.c @@ -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; } diff --git a/gdb/cli/cli-utils.c b/gdb/cli/cli-utils.c index 933fb89..f74e6b1 100644 --- a/gdb/cli/cli-utils.c +++ b/gdb/cli/cli-utils.c @@ -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; diff --git a/gdb/cli/cli-utils.h b/gdb/cli/cli-utils.h index 6f28e13..152fb89 100644 --- a/gdb/cli/cli-utils.h +++ b/gdb/cli/cli-utils.h @@ -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. */ |