aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2019-10-22 13:32:39 -0600
committerTom Tromey <tromey@adacore.com>2019-11-08 06:59:36 -0700
commit992a70401ec229425ee75b2ad9b731f30d2de391 (patch)
treec3778d85d36c80fb93238f8ef14c06be00141ff7
parent8a46e447a88d2577f4344d373b521eb6905cb869 (diff)
downloadgdb-992a70401ec229425ee75b2ad9b731f30d2de391.zip
gdb-992a70401ec229425ee75b2ad9b731f30d2de391.tar.gz
gdb-992a70401ec229425ee75b2ad9b731f30d2de391.tar.bz2
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
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/ada-lang.c2
-rw-r--r--gdb/cli/cli-script.c6
-rw-r--r--gdb/defs.h2
-rw-r--r--gdb/linespec.c2
-rw-r--r--gdb/python/py-gdb-readline.c3
-rw-r--r--gdb/top.c4
7 files changed, 20 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f43d3a5..f5c8a76 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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>
* linux-tdep.c (linux_info_proc): Use strtok_r instead of strtok.
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 0bddc9e..2935df5 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -3273,7 +3273,7 @@ static int
get_selections (int *choices, int n_choices, int max_results,
int is_all_choice, const char *annotation_suffix)
{
- char *args;
+ const char *args;
const char *prompt;
int n_chosen;
int first_choice = is_all_choice ? 2 : 1;
diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c
index 8abd48c..316aca0 100644
--- a/gdb/cli/cli-script.c
+++ b/gdb/cli/cli-script.c
@@ -50,7 +50,7 @@ recurse_read_control_structure
static void do_define_command (const char *comname, int from_tty,
const counted_command_line *commands);
-static char *read_next_line (void);
+static const char *read_next_line ();
/* Level of control structure when reading. */
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
from stdin. */
-static char *
-read_next_line (void)
+static const char *
+read_next_line ()
{
struct ui *ui = current_ui;
char *prompt_ptr, control_prompt[256];
diff --git a/gdb/defs.h b/gdb/defs.h
index f12ba36..5d68be2 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -306,7 +306,7 @@ typedef void initialize_file_ftype (void);
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);
diff --git a/gdb/linespec.c b/gdb/linespec.c
index fdbb670..9b7a8c9 100644
--- a/gdb/linespec.c
+++ b/gdb/linespec.c
@@ -1489,7 +1489,7 @@ decode_line_2 (struct linespec_state *self,
std::vector<symtab_and_line> *result,
const char *select_mode)
{
- char *args;
+ const char *args;
const char *prompt;
int i;
std::vector<const char *> filters;
diff --git a/gdb/python/py-gdb-readline.c b/gdb/python/py-gdb-readline.c
index ec4ff9e..dcf3b83 100644
--- a/gdb/python/py-gdb-readline.c
+++ b/gdb/python/py-gdb-readline.c
@@ -37,7 +37,8 @@ gdbpy_readline_wrapper (FILE *sys_stdin, FILE *sys_stdout,
#endif
{
int n;
- char *p = NULL, *q;
+ const char *p = NULL;
+ char *q;
try
{
diff --git a/gdb/top.c b/gdb/top.c
index a443159..08c7425 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -420,7 +420,7 @@ read_command_file (FILE *stream)
while (ui->instream != NULL && !feof (ui->instream))
{
- char *command;
+ const char *command;
/* Get a command-line. This calls the readline package. */
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
as the user has requested. */
-char *
+const char *
command_line_input (const char *prompt_arg, const char *annotation_suffix)
{
static struct buffer cmd_line_buffer;