aboutsummaryrefslogtreecommitdiff
path: root/gdb/linespec.c
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2012-07-18 20:30:01 +0000
committerKeith Seitz <keiths@redhat.com>2012-07-18 20:30:01 +0000
commit5d94e27bfda2baffe1c50cfd92ea965c9dec9dcf (patch)
tree578c69400bfa652f91ba9f95f68e5eb9b9c5aa27 /gdb/linespec.c
parentaf4908ba3674e4090518070df564c158ac07ae99 (diff)
downloadfsf-binutils-gdb-5d94e27bfda2baffe1c50cfd92ea965c9dec9dcf.zip
fsf-binutils-gdb-5d94e27bfda2baffe1c50cfd92ea965c9dec9dcf.tar.gz
fsf-binutils-gdb-5d94e27bfda2baffe1c50cfd92ea965c9dec9dcf.tar.bz2
* linespec.c (struct linespec): Constify expression,
source_filename, function_name, and label_name. (symbol_not_found_error): Make all parameters const. (linespec_parser_delete): No need to check for NULL when using xfree. Cast const char * to char * for xfree.
Diffstat (limited to 'gdb/linespec.c')
-rw-r--r--gdb/linespec.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/gdb/linespec.c b/gdb/linespec.c
index e5c1f9f..3b34afb 100644
--- a/gdb/linespec.c
+++ b/gdb/linespec.c
@@ -110,7 +110,7 @@ struct linespec
currently precludes the use of other members. */
/* The expression entered by the user. */
- char *expression;
+ const char *expression;
/* The resulting PC expression derived from evaluating EXPRESSION. */
CORE_ADDR expr_pc;
@@ -118,7 +118,7 @@ struct linespec
/* Any specified file symtabs. */
/* The user-supplied source filename or NULL if none was specified. */
- char *source_filename;
+ const char *source_filename;
/* The list of symtabs to search to which to limit the search. May not
be NULL. If SOURCE_FILENAME is NULL (no user-specified filename),
@@ -130,7 +130,7 @@ struct linespec
/* The user-specified function name. If no function name was
supplied, this may be NULL. */
- char *function_name;
+ const char *function_name;
/* A list of matching function symbols and minimal symbols. Both lists
may be NULL if no matching symbols were found. */
@@ -140,7 +140,7 @@ struct linespec
/* The name of a label and matching symbols. */
/* The user-specified label name. */
- char *label_name;
+ const char *label_name;
/* A structure of matching label symbols and the corresponding
function symbol in which the label was found. Both may be NULL
@@ -1347,7 +1347,7 @@ decode_line_2 (struct linespec_state *self,
FILENAME). */
static void ATTRIBUTE_NORETURN
-symbol_not_found_error (char *symbol, char *filename)
+symbol_not_found_error (const char *symbol, const char *filename)
{
if (symbol == NULL)
symbol = "";
@@ -2220,14 +2220,10 @@ linespec_parser_delete (void *arg)
{
linespec_parser *parser = (linespec_parser *) arg;
- if (PARSER_RESULT (parser)->expression)
- xfree (PARSER_RESULT (parser)->expression);
- if (PARSER_RESULT (parser)->source_filename)
- xfree (PARSER_RESULT (parser)->source_filename);
- if (PARSER_RESULT (parser)->label_name)
- xfree (PARSER_RESULT (parser)->label_name);
- if (PARSER_RESULT (parser)->function_name)
- xfree (PARSER_RESULT (parser)->function_name);
+ xfree ((char *) PARSER_RESULT (parser)->expression);
+ xfree ((char *) PARSER_RESULT (parser)->source_filename);
+ xfree ((char *) PARSER_RESULT (parser)->label_name);
+ xfree ((char *) PARSER_RESULT (parser)->function_name);
if (PARSER_RESULT (parser)->file_symtabs != NULL)
VEC_free (symtab_p, PARSER_RESULT (parser)->file_symtabs);