[pushed] tui-win: Replace VEC with std::vector

Message ID 1510762363-2520-1-git-send-email-simon.marchi@ericsson.com
State New, archived
Headers

Commit Message

Simon Marchi Nov. 15, 2017, 4:12 p.m. UTC
  This patch replaces an instance of VEC (const_char_ptr) with
std::vector<const char *>.  Tested by running gdb.tui/completion.exp,
which exercises this function.

gdb/ChangeLog:

	* tui/tui-win.c (window_name_completer): Replace VEC with
	std::vector.
---
 gdb/ChangeLog     |  5 +++++
 gdb/tui/tui-win.c | 21 +++++++++------------
 2 files changed, 14 insertions(+), 12 deletions(-)
  

Patch

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5105df6..9b1c335 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@ 
+2017-11-15  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* tui/tui-win.c (window_name_completer): Replace VEC with
+	std::vector.
+
 2017-11-15  Andrew Cagney  <cagney@gnu.org>
 
 	* MAINTAINERS: Remove no-longer applicable entries.
diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c
index cbeff1f..3694a22 100644
--- a/gdb/tui/tui-win.c
+++ b/gdb/tui/tui-win.c
@@ -365,7 +365,7 @@  window_name_completer (completion_tracker &tracker,
 		       int include_next_prev_p,
 		       const char *text, const char *word)
 {
-  VEC (const_char_ptr) *completion_name_vec = NULL;
+  std::vector<const char *> completion_name_vec;
   int win_type;
 
   for (win_type = SRC_WIN; win_type < MAX_MAJOR_WINDOWS; win_type++)
@@ -379,31 +379,28 @@  window_name_completer (completion_tracker &tracker,
 
       completion_name = tui_win_name (&tui_win_list [win_type]->generic);
       gdb_assert (completion_name != NULL);
-      VEC_safe_push (const_char_ptr, completion_name_vec, completion_name);
+      completion_name_vec.push_back (completion_name);
     }
 
   /* If no windows are considered visible then the TUI has not yet been
      initialized.  But still "focus src" and "focus cmd" will work because
      invoking the focus command will entail initializing the TUI which sets the
      default layout to SRC_COMMAND.  */
-  if (VEC_length (const_char_ptr, completion_name_vec) == 0)
+  if (completion_name_vec.empty ())
     {
-      VEC_safe_push (const_char_ptr, completion_name_vec, SRC_NAME);
-      VEC_safe_push (const_char_ptr, completion_name_vec, CMD_NAME);
+      completion_name_vec.push_back (SRC_NAME);
+      completion_name_vec.push_back (CMD_NAME);
     }
 
   if (include_next_prev_p)
     {
-      VEC_safe_push (const_char_ptr, completion_name_vec, "next");
-      VEC_safe_push (const_char_ptr, completion_name_vec, "prev");
+      completion_name_vec.push_back ("next");
+      completion_name_vec.push_back ("prev");
     }
 
-  VEC_safe_push (const_char_ptr, completion_name_vec, NULL);
-  complete_on_enum (tracker,
-		    VEC_address (const_char_ptr, completion_name_vec),
-		    text, word);
 
-  VEC_free (const_char_ptr, completion_name_vec);
+  completion_name_vec.push_back (NULL);
+  complete_on_enum (tracker, completion_name_vec.data (), text, word);
 }
 
 /* Complete possible window names to focus on.  TEXT is the complete text