From d525a99be1b02dda6c69007e31dd06f276378aea Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 25 May 2018 12:39:51 -0600 Subject: Add "name" method to class interp In a review Pedro pointed out that interp::name is intended to be read-only, and so an accessor would be a better fit. This patch renames the field and adds a "name" method that is used instead. ChangeLog 2018-05-25 Tom Tromey * tui/tui.c (tui_enable): Update. * mi/mi-interp.c (mi_interp::init): Update. * interps.h (class interp) : New method. : Rename from name. (~scoped_restore_interp): Update. * interps.c (interp::interp): Update. (interp_add, interp_set, interp_lookup_existing) (current_interp_named_p): Update. --- gdb/ChangeLog | 11 +++++++++++ gdb/interps.c | 12 ++++++------ gdb/interps.h | 9 +++++++-- gdb/mi/mi-interp.c | 8 ++++---- gdb/tui/tui.c | 2 +- 5 files changed, 29 insertions(+), 13 deletions(-) (limited to 'gdb') diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0bf350c..a01f60c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,14 @@ +2018-05-25 Tom Tromey + + * tui/tui.c (tui_enable): Update. + * mi/mi-interp.c (mi_interp::init): Update. + * interps.h (class interp) : New method. + : Rename from name. + (~scoped_restore_interp): Update. + * interps.c (interp::interp): Update. + (interp_add, interp_set, interp_lookup_existing) + (current_interp_named_p): Update. + 2018-05-25 Tom Tromey * interps.c (interp_name): Remove. diff --git a/gdb/interps.c b/gdb/interps.c index 8ec9744..789ae86 100644 --- a/gdb/interps.c +++ b/gdb/interps.c @@ -78,8 +78,8 @@ static struct interp *interp_lookup_existing (struct ui *ui, const char *name); interp::interp (const char *name) + : m_name (xstrdup (name)) { - this->name = xstrdup (name); this->inited = false; } @@ -129,7 +129,7 @@ interp_add (struct ui *ui, struct interp *interp) { struct ui_interp_info *ui_interp = get_interp_info (ui); - gdb_assert (interp_lookup_existing (ui, interp->name) == NULL); + gdb_assert (interp_lookup_existing (ui, interp->name ()) == NULL); interp->next = ui_interp->interp_list; ui_interp->interp_list = interp; @@ -170,11 +170,11 @@ interp_set (struct interp *interp, bool top_level) /* We use interpreter_p for the "set interpreter" variable, so we need to make sure we have a malloc'ed copy for the set command to free. */ if (interpreter_p != NULL - && strcmp (interp->name, interpreter_p) != 0) + && strcmp (interp->name (), interpreter_p) != 0) { xfree (interpreter_p); - interpreter_p = xstrdup (interp->name); + interpreter_p = xstrdup (interp->name ()); } /* Run the init proc. */ @@ -206,7 +206,7 @@ interp_lookup_existing (struct ui *ui, const char *name) interp != NULL; interp = interp->next) { - if (strcmp (interp->name, name) == 0) + if (strcmp (interp->name (), name) == 0) return interp; } @@ -282,7 +282,7 @@ current_interp_named_p (const char *interp_name) struct interp *interp = ui_interp->current_interpreter; if (interp != NULL) - return (strcmp (interp->name, interp_name) == 0); + return (strcmp (interp->name (), interp_name) == 0); return 0; } diff --git a/gdb/interps.h b/gdb/interps.h index a689be5..74c9a80 100644 --- a/gdb/interps.h +++ b/gdb/interps.h @@ -74,8 +74,13 @@ public: virtual bool supports_command_editing () { return false; } + const char *name () const + { + return m_name; + } + /* This is the name in "-i=" and "set interpreter". */ - const char *name; + const char *m_name; /* Interpreters are stored in a linked list, this is the next one... */ @@ -111,7 +116,7 @@ public: ~scoped_restore_interp () { - set_interp (m_interp->name); + set_interp (m_interp->name ()); } scoped_restore_interp (const scoped_restore_interp &) = delete; diff --git a/gdb/mi/mi-interp.c b/gdb/mi/mi-interp.c index e52d797..ebc899f 100644 --- a/gdb/mi/mi-interp.c +++ b/gdb/mi/mi-interp.c @@ -130,13 +130,13 @@ mi_interp::init (bool top_level) /* INTERP_MI selects the most recent released version. "mi2" was released as part of GDB 6.0. */ - if (strcmp (name, INTERP_MI) == 0) + if (strcmp (name (), INTERP_MI) == 0) mi_version = 2; - else if (strcmp (name, INTERP_MI1) == 0) + else if (strcmp (name (), INTERP_MI1) == 0) mi_version = 1; - else if (strcmp (name, INTERP_MI2) == 0) + else if (strcmp (name (), INTERP_MI2) == 0) mi_version = 2; - else if (strcmp (name, INTERP_MI3) == 0) + else if (strcmp (name (), INTERP_MI3) == 0) mi_version = 3; else gdb_assert_not_reached ("unhandled MI version"); diff --git a/gdb/tui/tui.c b/gdb/tui/tui.c index 9e2520b..75a9ced 100644 --- a/gdb/tui/tui.c +++ b/gdb/tui/tui.c @@ -415,7 +415,7 @@ tui_enable (void) /* If the top level interpreter is not the console/tui (e.g., MI), enabling curses will certainly lose. */ - interp = top_level_interpreter ()->name; + interp = top_level_interpreter ()->name (); if (strcmp (interp, INTERP_TUI) != 0) error (_("Cannot enable the TUI when the interpreter is '%s'"), interp); -- cgit v1.1