gdb: make inferior::terminal a unique ptr

This changes the inferior::terminal field to be a unique pointer, so its
deallocation is automatically managed.

gdb/ChangeLog:

	* inferior.h (struct inferior) <terminal>: Change type to
	gdb::unique_xmalloc_ptr<char>.
	* inferior.c (inferior::~inferior): Don't free inf->terminal.
	* infcmd.c (set_inferior_io_terminal): Don't free terminal
	field, adjust to unique pointer.
	(get_inferior_io_terminal): Adjust to unique pointer.

Change-Id: Iedb6459b4f9eeae812b0cb9d514b5707d5107cdb
This commit is contained in:
Simon Marchi
2020-06-25 14:44:13 -04:00
parent d73be61168
commit 277474eea0
4 changed files with 13 additions and 6 deletions

View File

@@ -52,6 +52,7 @@ struct thread_info;
#include "symfile-add-flags.h"
#include "gdbsupport/refcounted-object.h"
#include "gdbsupport/forward-scope-exit.h"
#include "gdbsupport/gdb_unique_ptr.h"
#include "gdbsupport/common-inferior.h"
#include "gdbthread.h"
@@ -456,7 +457,7 @@ public:
gdb::unique_xmalloc_ptr<char> cwd;
/* The name of terminal device to use for I/O. */
char *terminal = NULL;
gdb::unique_xmalloc_ptr<char> terminal;
/* The terminal state as set by the last target_terminal::terminal_*
call. */