Constify command_line_input
This changes command_line_input to return a "const char *", which is appropriate because the memory is owned by command_line_input. Then it fixes up the users. I looked at making command_line_input transfer ownership to its caller instead, but this is complicated due to the way read_next_line is called, so I decided against it. Tested by rebuilding. gdb/ChangeLog 2019-11-08 Tom Tromey <tromey@adacore.com> * top.c (read_command_file): Update. (command_line_input): Make return type const. * python/py-gdb-readline.c: Update. * linespec.c (decode_line_2): Update. * defs.h (command_line_input): Make return type const. * cli/cli-script.c (read_next_line): Make return type const. * ada-lang.c (get_selections): Update. Change-Id: I27e6c9477fd1005ab5b16e0d337e4c015b6e6248
This commit is contained in:
parent
8a46e447a8
commit
992a70401e
7 changed files with 20 additions and 9 deletions
|
@ -1,3 +1,13 @@
|
||||||
|
2019-11-08 Tom Tromey <tromey@adacore.com>
|
||||||
|
|
||||||
|
* top.c (read_command_file): Update.
|
||||||
|
(command_line_input): Make return type const.
|
||||||
|
* python/py-gdb-readline.c: Update.
|
||||||
|
* linespec.c (decode_line_2): Update.
|
||||||
|
* defs.h (command_line_input): Make return type const.
|
||||||
|
* cli/cli-script.c (read_next_line): Make return type const.
|
||||||
|
* ada-lang.c (get_selections): Update.
|
||||||
|
|
||||||
2019-11-06 Christian Biesinger <cbiesinger@google.com>
|
2019-11-06 Christian Biesinger <cbiesinger@google.com>
|
||||||
|
|
||||||
* linux-tdep.c (linux_info_proc): Use strtok_r instead of strtok.
|
* linux-tdep.c (linux_info_proc): Use strtok_r instead of strtok.
|
||||||
|
|
|
@ -3273,7 +3273,7 @@ static int
|
||||||
get_selections (int *choices, int n_choices, int max_results,
|
get_selections (int *choices, int n_choices, int max_results,
|
||||||
int is_all_choice, const char *annotation_suffix)
|
int is_all_choice, const char *annotation_suffix)
|
||||||
{
|
{
|
||||||
char *args;
|
const char *args;
|
||||||
const char *prompt;
|
const char *prompt;
|
||||||
int n_chosen;
|
int n_chosen;
|
||||||
int first_choice = is_all_choice ? 2 : 1;
|
int first_choice = is_all_choice ? 2 : 1;
|
||||||
|
|
|
@ -50,7 +50,7 @@ recurse_read_control_structure
|
||||||
static void do_define_command (const char *comname, int from_tty,
|
static void do_define_command (const char *comname, int from_tty,
|
||||||
const counted_command_line *commands);
|
const counted_command_line *commands);
|
||||||
|
|
||||||
static char *read_next_line (void);
|
static const char *read_next_line ();
|
||||||
|
|
||||||
/* Level of control structure when reading. */
|
/* Level of control structure when reading. */
|
||||||
static int control_level;
|
static int control_level;
|
||||||
|
@ -890,8 +890,8 @@ user_args::insert_args (const char *line) const
|
||||||
recurse_read_control_structure whenever we need to read commands
|
recurse_read_control_structure whenever we need to read commands
|
||||||
from stdin. */
|
from stdin. */
|
||||||
|
|
||||||
static char *
|
static const char *
|
||||||
read_next_line (void)
|
read_next_line ()
|
||||||
{
|
{
|
||||||
struct ui *ui = current_ui;
|
struct ui *ui = current_ui;
|
||||||
char *prompt_ptr, control_prompt[256];
|
char *prompt_ptr, control_prompt[256];
|
||||||
|
|
|
@ -306,7 +306,7 @@ typedef void initialize_file_ftype (void);
|
||||||
|
|
||||||
extern char *gdb_readline_wrapper (const char *);
|
extern char *gdb_readline_wrapper (const char *);
|
||||||
|
|
||||||
extern char *command_line_input (const char *, const char *);
|
extern const char *command_line_input (const char *, const char *);
|
||||||
|
|
||||||
extern void print_prompt (void);
|
extern void print_prompt (void);
|
||||||
|
|
||||||
|
|
|
@ -1489,7 +1489,7 @@ decode_line_2 (struct linespec_state *self,
|
||||||
std::vector<symtab_and_line> *result,
|
std::vector<symtab_and_line> *result,
|
||||||
const char *select_mode)
|
const char *select_mode)
|
||||||
{
|
{
|
||||||
char *args;
|
const char *args;
|
||||||
const char *prompt;
|
const char *prompt;
|
||||||
int i;
|
int i;
|
||||||
std::vector<const char *> filters;
|
std::vector<const char *> filters;
|
||||||
|
|
|
@ -37,7 +37,8 @@ gdbpy_readline_wrapper (FILE *sys_stdin, FILE *sys_stdout,
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
char *p = NULL, *q;
|
const char *p = NULL;
|
||||||
|
char *q;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -420,7 +420,7 @@ read_command_file (FILE *stream)
|
||||||
|
|
||||||
while (ui->instream != NULL && !feof (ui->instream))
|
while (ui->instream != NULL && !feof (ui->instream))
|
||||||
{
|
{
|
||||||
char *command;
|
const char *command;
|
||||||
|
|
||||||
/* Get a command-line. This calls the readline package. */
|
/* Get a command-line. This calls the readline package. */
|
||||||
command = command_line_input (NULL, NULL);
|
command = command_line_input (NULL, NULL);
|
||||||
|
@ -1210,7 +1210,7 @@ gdb_safe_append_history (void)
|
||||||
This routine either uses fancy command line editing or simple input
|
This routine either uses fancy command line editing or simple input
|
||||||
as the user has requested. */
|
as the user has requested. */
|
||||||
|
|
||||||
char *
|
const char *
|
||||||
command_line_input (const char *prompt_arg, const char *annotation_suffix)
|
command_line_input (const char *prompt_arg, const char *annotation_suffix)
|
||||||
{
|
{
|
||||||
static struct buffer cmd_line_buffer;
|
static struct buffer cmd_line_buffer;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue