mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-01 13:26:47 +08:00
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
This commit is contained in:
parent
482155e609
commit
ec66d6ea54
@ -1,3 +1,11 @@
|
||||
2021-05-06 Simon Marchi <simon.marchi@polymtl.ca>
|
||||
|
||||
* 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.
|
||||
|
||||
2021-05-06 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* guile/scm-breakpoint.c (bpscm_print_breakpoint_smob): Only print
|
||||
|
11
gdb/infcmd.c
11
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;
|
||||
}
|
||||
|
@ -75,7 +75,6 @@ inferior::~inferior ()
|
||||
|
||||
m_continuations.clear ();
|
||||
inferior_free_data (inf);
|
||||
xfree (inf->args);
|
||||
target_desc_info_free (inf->tdesc_info);
|
||||
}
|
||||
|
||||
|
@ -468,7 +468,7 @@ class inferior : public refcounted_object
|
||||
struct program_space *pspace = NULL;
|
||||
|
||||
/* The arguments string to use when running. */
|
||||
char *args = NULL;
|
||||
gdb::unique_xmalloc_ptr<char> args;
|
||||
|
||||
/* The size of elements in argv. */
|
||||
int argc = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user