aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2022-08-11 11:13:00 -0600
committerTom Tromey <tromey@adacore.com>2022-08-31 11:03:40 -0600
commitd9f95811860d9b99d539deb80bc6f48f0cee10e8 (patch)
treedb37f7eebe6820f5bd67ac7260ea0a73d803495c /gdb
parent5a09f120568d433872267887ff844b2278b9c09b (diff)
downloadgdb-d9f95811860d9b99d539deb80bc6f48f0cee10e8.zip
gdb-d9f95811860d9b99d539deb80bc6f48f0cee10e8.tar.gz
gdb-d9f95811860d9b99d539deb80bc6f48f0cee10e8.tar.bz2
Use member initialization in 'struct ui'
This changes 'struct ui' to use member initialization. This is simpler to understand.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/top.c13
-rw-r--r--gdb/top.h18
2 files changed, 11 insertions, 20 deletions
diff --git a/gdb/top.c b/gdb/top.c
index d8e0ee5..54c7c92 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -295,26 +295,17 @@ unbuffer_stream (FILE *stream)
/* See top.h. */
ui::ui (FILE *instream_, FILE *outstream_, FILE *errstream_)
- : next (nullptr),
- num (++highest_ui_num),
- call_readline (nullptr),
- input_handler (nullptr),
- command_editing (0),
- interp_info (nullptr),
- async (0),
- secondary_prompt_depth (0),
+ : num (++highest_ui_num),
stdin_stream (instream_),
instream (instream_),
outstream (outstream_),
errstream (errstream_),
input_fd (fileno (instream)),
m_input_interactive_p (ISATTY (instream)),
- prompt_state (PROMPT_NEEDED),
m_gdb_stdout (new pager_file (new stdio_file (outstream))),
m_gdb_stdin (new stdio_file (instream)),
m_gdb_stderr (new stderr_file (errstream)),
- m_gdb_stdlog (m_gdb_stderr),
- m_current_uiout (nullptr)
+ m_gdb_stdlog (m_gdb_stderr)
{
buffer_init (&line_buffer);
diff --git a/gdb/top.h b/gdb/top.h
index 3bd1108..29778f6 100644
--- a/gdb/top.h
+++ b/gdb/top.h
@@ -61,7 +61,7 @@ struct ui
DISABLE_COPY_AND_ASSIGN (ui);
/* Pointer to next in singly-linked list. */
- struct ui *next;
+ struct ui *next = nullptr;
/* Convenient handle (UI number). Unique across all UIs. */
int num;
@@ -76,19 +76,19 @@ struct ui
point of invocation. In the special case in which the character
read is newline, the function invokes the INPUT_HANDLER callback
(see below). */
- void (*call_readline) (gdb_client_data);
+ void (*call_readline) (gdb_client_data) = nullptr;
/* The function to invoke when a complete line of input is ready for
processing. */
- void (*input_handler) (gdb::unique_xmalloc_ptr<char> &&);
+ void (*input_handler) (gdb::unique_xmalloc_ptr<char> &&) = nullptr;
/* True if this UI is using the readline library for command
editing; false if using GDB's own simple readline emulation, with
no editing support. */
- int command_editing;
+ int command_editing = 0;
/* Each UI has its own independent set of interpreters. */
- struct ui_interp_info *interp_info;
+ struct ui_interp_info *interp_info = nullptr;
/* True if the UI is in async mode, false if in sync mode. If in
sync mode, a synchronous execution command (e.g, "next") does not
@@ -98,11 +98,11 @@ struct ui
the top event loop. For the main UI, this starts out disabled,
until all the explicit command line arguments (e.g., `gdb -ex
"start" -ex "next"') are processed. */
- int async;
+ int async = 0;
/* The number of nested readline secondary prompts that are
currently active. */
- int secondary_prompt_depth;
+ int secondary_prompt_depth = 0;
/* The UI's stdin. Set to stdin for the main UI. */
FILE *stdin_stream;
@@ -128,7 +128,7 @@ struct ui
bool m_input_interactive_p;
/* See enum prompt_state's description. */
- enum prompt_state prompt_state;
+ enum prompt_state prompt_state = PROMPT_NEEDED;
/* The fields below that start with "m_" are "private". They're
meant to be accessed through wrapper macros that make them look
@@ -146,7 +146,7 @@ struct ui
struct ui_file *m_gdb_stdlog;
/* The current ui_out. */
- struct ui_out *m_current_uiout;
+ struct ui_out *m_current_uiout = nullptr;
/* Register the UI's input file descriptor in the event loop. */
void register_file_handler ();