From c7b3e7462aba24ce65fd38e367bca976cfddaee2 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 22 Jun 2022 18:09:32 -0600 Subject: [PATCH] Use unique_ptr for trace_filename This changes trace_filename to use unique_ptr, removing some manual memory management. Reviewed-by: Keith Seitz --- gdb/tracefile-tfile.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/gdb/tracefile-tfile.c b/gdb/tracefile-tfile.c index ff451c79e88..364f8c1f08e 100644 --- a/gdb/tracefile-tfile.c +++ b/gdb/tracefile-tfile.c @@ -415,7 +415,7 @@ static tfile_target tfile_ops; #define TFILE_PID (1) -static char *trace_filename; +static gdb::unique_xmalloc_ptr trace_filename; static int trace_fd = -1; static off_t trace_frames_offset; static off_t cur_offset; @@ -441,7 +441,7 @@ tfile_read (gdb_byte *readbuf, int size) gotten = read (trace_fd, readbuf, size); if (gotten < 0) - perror_with_name (trace_filename); + perror_with_name (trace_filename.get ()); else if (gotten < size) error (_("Premature end of file while reading trace file")); } @@ -479,7 +479,7 @@ tfile_target_open (const char *arg, int from_tty) current_inferior ()->unpush_target (&tfile_ops); - trace_filename = filename.release (); + trace_filename = std::move (filename); trace_fd = scratch_chan; /* Make sure this is clear. */ @@ -499,7 +499,7 @@ tfile_target_open (const char *arg, int from_tty) trace_regblock_size = 0; ts = current_trace_status (); /* We know we're working with a file. Record its name. */ - ts->filename = trace_filename; + ts->filename = trace_filename.get (); /* Set defaults in case there is no status line. */ ts->running_known = 0; ts->stop_reason = trace_stop_reason_unknown; @@ -620,8 +620,7 @@ tfile_target::close () ::close (trace_fd); trace_fd = -1; - xfree (trace_filename); - trace_filename = NULL; + trace_filename.reset (); trace_tdesc.clear (); trace_reset_local_state (); @@ -630,7 +629,7 @@ tfile_target::close () void tfile_target::files_info () { - gdb_printf ("\t`%s'\n", trace_filename); + gdb_printf ("\t`%s'\n", trace_filename.get ()); } void -- 2.30.2