[RFA,v2,14/24] Use unique_xmalloc_ptr in jit.c

Message ID 20170725172107.9799-15-tom@tromey.com
State New, archived
Headers

Commit Message

Tom Tromey July 25, 2017, 5:20 p.m. UTC
  This removes some cleanups from jit.c by using unique_xmalloc_ptr
instead.

ChangeLog
2017-07-25  Tom Tromey  <tom@tromey.com>

	* jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
---
 gdb/ChangeLog |  4 ++++
 gdb/jit.c     | 20 ++++++--------------
 2 files changed, 10 insertions(+), 14 deletions(-)
  

Comments

Simon Marchi July 31, 2017, 7:24 p.m. UTC | #1
On 2017-07-25 19:20, Tom Tromey wrote:
> This removes some cleanups from jit.c by using unique_xmalloc_ptr
> instead.
> 
> ChangeLog
> 2017-07-25  Tom Tromey  <tom@tromey.com>
> 
> 	* jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
> ---
>  gdb/ChangeLog |  4 ++++
>  gdb/jit.c     | 20 ++++++--------------
>  2 files changed, 10 insertions(+), 14 deletions(-)
> 
> diff --git a/gdb/ChangeLog b/gdb/ChangeLog
> index 1ba2801..a08aa29 100644
> --- a/gdb/ChangeLog
> +++ b/gdb/ChangeLog
> @@ -1,5 +1,9 @@
>  2017-07-25  Tom Tromey  <tom@tromey.com>
> 
> +	* jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
> +
> +2017-07-25  Tom Tromey  <tom@tromey.com>
> +
>  	* tui/tui-regs.c (tui_restore_gdbout): Remove.
>  	(tui_register_format): Use scoped_restore.
> 
> diff --git a/gdb/jit.c b/gdb/jit.c
> index ddf1005..15b93fe 100644
> --- a/gdb/jit.c
> +++ b/gdb/jit.c
> @@ -211,29 +211,21 @@ jit_reader_load (const char *file_name)
>  static void
>  jit_reader_load_command (char *args, int from_tty)
>  {
> -  char *so_name;
> -  struct cleanup *prev_cleanup;
> -
>    if (args == NULL)
>      error (_("No reader name provided."));
> -  args = tilde_expand (args);
> -  prev_cleanup = make_cleanup (xfree, args);
> +  gdb::unique_xmalloc_ptr<char> file (tilde_expand (args));
> 
>    if (loaded_jit_reader != NULL)
>      error (_("JIT reader already loaded.  Run jit-reader-unload 
> first."));
> 
> -  if (IS_ABSOLUTE_PATH (args))
> -    so_name = args;
> -  else
> -    {
> -      so_name = xstrprintf ("%s%s%s", jit_reader_dir, SLASH_STRING, 
> args);
> -      make_cleanup (xfree, so_name);
> -    }
> +  gdb::unique_xmalloc_ptr<char> so_name;

The so_name variable is now unused.

LGTM with that changed.

Simon
  

Patch

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1ba2801..a08aa29 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,9 @@ 
 2017-07-25  Tom Tromey  <tom@tromey.com>
 
+	* jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
+
+2017-07-25  Tom Tromey  <tom@tromey.com>
+
 	* tui/tui-regs.c (tui_restore_gdbout): Remove.
 	(tui_register_format): Use scoped_restore.
 
diff --git a/gdb/jit.c b/gdb/jit.c
index ddf1005..15b93fe 100644
--- a/gdb/jit.c
+++ b/gdb/jit.c
@@ -211,29 +211,21 @@  jit_reader_load (const char *file_name)
 static void
 jit_reader_load_command (char *args, int from_tty)
 {
-  char *so_name;
-  struct cleanup *prev_cleanup;
-
   if (args == NULL)
     error (_("No reader name provided."));
-  args = tilde_expand (args);
-  prev_cleanup = make_cleanup (xfree, args);
+  gdb::unique_xmalloc_ptr<char> file (tilde_expand (args));
 
   if (loaded_jit_reader != NULL)
     error (_("JIT reader already loaded.  Run jit-reader-unload first."));
 
-  if (IS_ABSOLUTE_PATH (args))
-    so_name = args;
-  else
-    {
-      so_name = xstrprintf ("%s%s%s", jit_reader_dir, SLASH_STRING, args);
-      make_cleanup (xfree, so_name);
-    }
+  gdb::unique_xmalloc_ptr<char> so_name;
+  if (!IS_ABSOLUTE_PATH (file.get ()))
+    file.reset (xstrprintf ("%s%s%s", jit_reader_dir, SLASH_STRING,
+			    file.get ()));
 
-  loaded_jit_reader = jit_reader_load (so_name);
+  loaded_jit_reader = jit_reader_load (file.get ());
   reinit_frame_cache ();
   jit_inferior_created_hook ();
-  do_cleanups (prev_cleanup);
 }
 
 /* Provides the jit-reader-unload command.  */