diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2021-05-06 13:16:26 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2021-05-06 13:16:26 -0400 |
commit | ec66d6ea54679d00c1f0d52a5a9fa0cbb8b86d47 (patch) | |
tree | ac7be1cbde883fe323f0c1962c5f2a7971203f5f /gdb/infcmd.c | |
parent | 482155e6090a602cd31112d1e3f4e80d37fe6189 (diff) | |
download | gdb-ec66d6ea54679d00c1f0d52a5a9fa0cbb8b86d47.zip gdb-ec66d6ea54679d00c1f0d52a5a9fa0cbb8b86d47.tar.gz gdb-ec66d6ea54679d00c1f0d52a5a9fa0cbb8b86d47.tar.bz2 |
gdb: make inferior::args a unique_xmalloc_ptr
Use unique_xmalloc_ptr to avoid manual memory management.
gdb/ChangeLog:
* inferior.h (class inferior) <args>: Change type to
unique_xmalloc_ptr.
* inferior.c (inferior::~inferior): Don't free args.
* infcmd.c (get_inferior_args): Adjust.
(set_inferior_args): Adjust.
Change-Id: I96300e59eb2faf2d80660416a8f5694d243a944e
Diffstat (limited to 'gdb/infcmd.c')
-rw-r--r-- | gdb/infcmd.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gdb/infcmd.c b/gdb/infcmd.c index 5aa6b00..5d9d792 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -136,9 +136,9 @@ get_inferior_args (void) } if (current_inferior ()->args == NULL) - current_inferior ()->args = xstrdup (""); + current_inferior ()->args = make_unique_xstrdup (""); - return current_inferior ()->args; + return current_inferior ()->args.get (); } /* Set the arguments for the current inferior. Ownership of @@ -147,8 +147,11 @@ get_inferior_args (void) void set_inferior_args (const char *newargs) { - xfree (current_inferior ()->args); - current_inferior ()->args = newargs ? xstrdup (newargs) : NULL; + if (newargs != nullptr) + current_inferior ()->args = make_unique_xstrdup (newargs); + else + current_inferior ()->args.reset (); + current_inferior ()->argc = 0; current_inferior ()->argv = 0; } |