diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6a809ecb80..5e1c80d911 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2012-07-18 Keith Seitz + + * 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. + 2012-07-18 Keith Seitz * breakpoint.c (invalid_thread_id_error): New function. diff --git a/gdb/linespec.c b/gdb/linespec.c index e5c1f9f7d2..3b34afbf9f 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);